Matches in other apps
tv-cleaner
mount /tv · base https://zpe.vc/tv · v1.0.1 · 5 operations · 1 write · 5 need no account · beta
the document this app serves now. Contract: https://zpe.vc/tv/_/api/v1/openapi.json · sha256 7817b8b18fe5
GET
/_/api/v1/blocks
A blocklist for one brand, in the dialect a blocker reads.
getBlocks
no account
A blocklist for one brand, in the dialect a blocker reads.
Parameters
| name | in | required | type | notes |
|---|---|---|---|---|
brand | query | no | string | One of samsung, lg, vizio, roku, amazon, hisense, sony, philips, xiaomi, panasonic. Default samsung. |
dialect | query | no | string | One of pihole, adguard, dnsmasq, hosts, nextdns, unbound. Default pihole. |
shared | query | no | string | 0 drops the cross-platform measurement trackers. Default includes them. Anything but 0 or 1 is refused. |
tier | query | no | string | acr (the fingerprinting endpoints only) or default (acr, ads and telemetry). |
Request body
None: this operation takes its arguments in the path and the query.
Responses
| status | meaning | body |
|---|---|---|
200 | The list as text, ready to subscribe to. | object |
400 | brand, dialect, tier or shared is a value this route does not understand. | object |
500 | This app failed while answering | object |
Example
A blocklist for one brand, in the dialect a blocker reads..
curl -X GET 'https://zpe.vc/tv/_/api/v1/blocks?brand=string&dialect=string&shared=string&tier=string'
{}The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.
GET
/_/api/v1/catalog
Every rule with its class, confidence, sources and evidence, plus the artifact sha.
getCatalog
no account
Every rule with its class, confidence, sources and evidence, plus the artifact sha.
Parameters
No parameters.
Request body
None: this operation takes its arguments in the path and the query.
Responses
| status | meaning | body |
|---|---|---|
200 | The catalogue. | object |
500 | This app failed while answering | object |
Example
Every rule with its class, confidence, sources and evidence, plus the artifact sha..
curl -X GET 'https://zpe.vc/tv/_/api/v1/catalog'
{}The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.
GET
/_/api/v1/brands
The platform profiles, including whether the on-device opt-out was found to work.
getBrands
no account
The platform profiles, including whether the on-device opt-out was found to work.
Parameters
No parameters.
Request body
None: this operation takes its arguments in the path and the query.
Responses
| status | meaning | body |
|---|---|---|
200 | One profile per brand. | object |
500 | This app failed while answering | object |
Example
The platform profiles, including whether the on-device opt-out was found to work..
curl -X GET 'https://zpe.vc/tv/_/api/v1/brands'
{}The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.
GET
/_/api/v1/dataset
The anonymised aggregates, floored so no single submission can publish a host.
getDataset
no account
The anonymised aggregates, floored so no single submission can publish a host.
Parameters
| name | in | required | type | notes |
|---|---|---|---|---|
weeks | query | no | string | How far back to aggregate, an integer 1 to 52. Default 8. Anything else is refused. |
Request body
None: this operation takes its arguments in the path and the query.
Responses
| status | meaning | body |
|---|---|---|
200 | Aggregates, the window, and how many hosts were withheld by the floor. | object |
400 | weeks is not an integer from 1 to 52. | object |
500 | This app failed while answering | object |
503 | This deployment has no dataset database, so there is nothing to aggregate. | object |
Example
The anonymised aggregates, floored so no single submission can publish a host..
curl -X GET 'https://zpe.vc/tv/_/api/v1/dataset?weeks=string'
{}The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.
POST
/_/api/v1/dataset
Submit one anonymous observation: a rotating pseudonym, the platform, and hostnames with bucketed counts.
postDataset
no account
Submit one anonymous observation: a rotating pseudonym, the platform, and hostnames with bucketed counts.
Parameters
No parameters.
Request body application/json · required
| field | type | required | notes |
|---|---|---|---|
v | 1 | yes | |
brand | "samsung" | "lg" | "vizio" | "roku" | "amazon" | "hisense" | "sony" | "philips" | "xiaomi" | "panasonic" | yes | |
os | "tizen" | "webos" | "smartcast" | "roku-os" | "fire-os" | "vidaa" | "google-tv" | "titan-os" | "mi-tv" | "viera" | "unknown" | yes | |
week | string | yes | ISO week, this week or last, e.g. 2026-W44. |
pseudonym | string | yes | 32 hex characters, derived per week and thrown away. |
hosts | array of object | yes |
Responses
| status | meaning | body |
|---|---|---|
202 | Stored. Whether it reaches the published dataset depends on other machines. | object |
400 | The request could not be read | object |
401 | The credential is missing or does not open this account | object |
403 | This account may not do that | object |
404 | Nothing is here | object |
413 | Body over 64KB. | object |
429 | More than 20 submissions an hour from one address. | object |
Example
Submit one anonymous observation: a rotating pseudonym, the platform, and hostnames with bucketed counts..
curl -X POST 'https://zpe.vc/tv/_/api/v1/dataset' \
-H 'content-type: application/json' \
-d '{
"v": 1,
"brand": "samsung",
"os": "tizen",
"week": "string",
"pseudonym": "string",
"hosts": [
{
"host": "string",
"n": "1"
}
]
}'{}The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.