GET, and every answer is JSON.
Base URL
Sites, days and amounts
The{site} path segment takes a site’s domain (example.com) or its site id. List sites returns every site your key reads.
Days are days in the site’s own timezone. Every amount is an integer in the minor units of the site’s reporting currency, such as cents for USD, and meta.currency names that currency.
Responses
A report answers{ data, meta }. meta names the timezone, the currency, and the instants the period and the comparison resolved to.
A report that lists rows answers { data, nextCursor, meta }. Pass nextCursor as cursor to read the next page, until it comes back null. limit is the size of a page, from 1 to 500 with a default of 20. It does not cap the list.
The list of sites and the list of saved funnels read no date range, so they answer { data, nextCursor } without meta.
Errors
Every failure answers{ error: { code, message, issues? } }. Branch on code, which is stable. message is written for a person, and issues names each invalid parameter by its path. Each endpoint page lists the codes it answers with, by HTTP status.
The reference as a file
The endpoint pages are built from the OpenAPI 3.1 document athttps://api.highseat.com/v1/openapi.json. Every page of these docs also has a Markdown copy, listed in /docs/llms.txt.