V0

v0 Overview (Frozen)

Legacy API v0 — frozen and preserved, no longer maintained.
API Version: Frozen

API v0 (Frozen)

Frozen. Base URL: https://api.dtpr.io/api/v0v0 is preserved, not maintained. It serves exactly what the retired dtpr.io v0 endpoint served — byte for byte, apart from the icon URLs in the response bodies, which now point at /api/v0/icons/ — quirks included, and its content will not change again. New integrations should use v2, or v1 for the device taxonomy.

The v0 API returns pre-rendered, locale-specific element data at:

GET /api/v0/{locale}

Where {locale} is one of the six published language codes: en, fr, es, pt, tl, km. Any other value returns an empty array ([]) at 200, not a 404 — that is how the original handler behaved, and it is preserved.

The locales query parameter is ignored on v0: every v0 document is single-locale already.

Icons

GET /api/v0/icons/{icon_id}.svg

v0 serves 123 icons as image/svg+xml. Icon namespaces do not fall back across versions, so the ids that exist only in v1 return 404 here. The icon value in every v0 element record already points at this path.

Differences from v1

Featurev0v1
Locale handlingSeparate endpoint per localeTyped endpoints with a ?locales= filter
Schema metadataNot includedIncluded on every object
CategoriesNot availableFull category endpoint
Datachain type filteringNot availableFilter by device or ai
Variable definitionsNot includedFull variable schema with labels

Migration

v0 and v1 are both frozen, so migrating from one to the other buys you nothing durable — the previous advice to replace v0 calls with GET /api/v1/elements?locales=en is moot, and that particular call returns 500 anyway.

If you only need to keep working, repoint each call at the new host and drop the extra dtpr path segment the retired base carried. The English document, for example, is now:

GET https://api.dtpr.io/api/v0/en

If you are building something new, use v2.

Copyright © 2026