{"openapi":"3.1.0","info":{"title":"Attriboo read-only report API","version":"1.0.0","description":"Existing website-list and report GET endpoints only. This is not the complete Attriboo API. No signup, website creation, installation verification, payment authorization, or CLI endpoints are defined here. Prefer MCP OAuth for supported AI clients. Existing OAuth access tokens and workspace keys authenticate these reports. Workspace keys have broader capabilities outside this document. Read dates in UTC and money in cents; attribution is recorded credit, not proof of causation."},"servers":[{"url":"https://www.attriboo.com/api/v1"}],"externalDocs":{"description":"Authentication and report conventions","url":"https://www.attriboo.com/docs/api"},"security":[{"bearerAuth":[]}],"paths":{"/sites":{"get":{"operationId":"listSites","summary":"List websites in the authorized workspace","responses":{"200":{"description":"Workspace name and available websites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitesSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/overview":{"get":{"operationId":"get_overview","summary":"Read overview report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/timeseries":{"get":{"operationId":"get_timeseries","summary":"Read timeseries report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"granularity","in":"query","required":false,"description":"Timeseries bucket size.","schema":{"type":"string","enum":["daily","weekly","monthly","quarterly"],"default":"daily"}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/realtime":{"get":{"operationId":"get_realtime","summary":"Read realtime report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/sales":{"get":{"operationId":"get_sales","summary":"Read sales report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/funnels":{"get":{"operationId":"get_funnels","summary":"Read funnels report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/ai-search":{"get":{"operationId":"get_ai_search","summary":"Read ai search report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/time-to-purchase":{"get":{"operationId":"get_time_to_purchase","summary":"Read time to purchase report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/sources":{"get":{"operationId":"get_sources","summary":"Read sources report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/channels":{"get":{"operationId":"get_channels","summary":"Read channels report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/campaigns":{"get":{"operationId":"get_campaigns","summary":"Read campaigns report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/pages":{"get":{"operationId":"get_pages","summary":"Read pages report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/hostnames":{"get":{"operationId":"get_hostnames","summary":"Read hostnames report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/countries":{"get":{"operationId":"get_countries","summary":"Read countries report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/cities":{"get":{"operationId":"get_cities","summary":"Read cities report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/devices":{"get":{"operationId":"get_devices","summary":"Read devices report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/browsers":{"get":{"operationId":"get_browsers","summary":"Read browsers report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/os":{"get":{"operationId":"get_os","summary":"Read os report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stats/goals":{"get":{"operationId":"get_goals","summary":"Read goals report","parameters":[{"name":"site","in":"query","required":false,"description":"Website ID or domain. Required when the workspace has multiple sites.","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"Date range in UTC. Custom from/to dates override this.","schema":{"type":"string","enum":["realtime","today","yesterday","7d","30d","90d","12m","wtd","mtd","qtd","ytd","all"],"default":"30d"}},{"name":"from","in":"query","required":false,"description":"Inclusive start date; supply to as well.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Inclusive end date; supply from as well.","schema":{"type":"string","format":"date"}},{"name":"compare","in":"query","required":false,"description":"Comparison period.","schema":{"type":"string","enum":["previous_period","mom","qoq","yoy","none"],"default":"previous_period"}},{"name":"model","in":"query","required":false,"description":"Attribution model for recorded revenue credit.","schema":{"type":"string","enum":["first_touch","last_touch","linear","time_decay"],"default":"first_touch"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows, where supported by the report.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}}],"responses":{"200":{"description":"Report returned. Money values are integer cents in the website currency. The data object varies by report; see the API guide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportSuccess"}}}},"400":{"description":"Invalid report parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing, expired or invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Website or report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit reached; inspect X-RateLimit-Reset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Existing OAuth access token (analytics:read) or workspace API key. Obtain access through the user-approved flow; do not request secrets in public prompts."}},"schemas":{"ReportSuccess":{"type":"object","required":["status","data"],"properties":{"status":{"const":"success"},"data":{"type":"object","additionalProperties":true}}},"SitesSuccess":{"type":"object","required":["status","data"],"properties":{"status":{"const":"success"},"data":{"type":"object","required":["workspace","sites"],"properties":{"workspace":{"type":"string"},"sites":{"type":"array","items":{"type":"object","required":["id","domain","name","currency","timezone"],"properties":{"id":{"type":"string"},"domain":{"type":"string"},"name":{"type":"string"},"currency":{"type":"string"},"timezone":{"type":"string"}}}}}}}},"Error":{"type":"object","required":["status","error"],"properties":{"status":{"const":"error"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}}}