Changelog

Changelog

Version history for the DTPR API.

Changelog

Move to api.dtpr.io

Every DTPR API surface now lives on api.dtpr.io. Two things changed, not one: the hostname, and the path — the retired base carried an extra dtpr segment between /api/ and the version, and that segment is gone. A find-and-replace of the hostname alone will not work.

VersionNew base URL
v0https://api.dtpr.io/api/v0
v1https://api.dtpr.io/api/v1
v2https://api.dtpr.io/api/v2

Icons moved with them, from a flat host into per-version namespaces — https://api.dtpr.io/api/v0/icons/{id}.svg (123 icons) and https://api.dtpr.io/api/v1/icons/{id}.svg (148). The icon URLs inside v0 and v1 response bodies are absolute and already point at the new namespaces, so a consumer that follows the URL it is given needs no separate change.

dtpr.io is being switched off. The old URLs will break rather than redirect.

v2 (Current)

The current, maintained DTPR API, served by a Cloudflare Worker at https://api.dtpr.io/api/v2.

Endpoints

  • GET /api/v2/schemas — Published schema versions
  • GET /api/v2/schemas/:version/manifest — Manifest for one schema version
  • GET /api/v2/schemas/:version/categories — Categories for one schema version
  • GET /api/v2/schemas/:version/elements — Elements for one schema version
  • GET /api/v2/schemas/:version/elements/:element_id — A single element
  • GET /api/v2/schemas/:version/elements/:element_id/icon.svg — Composed element icon
  • POST /api/v2/schemas/:version/validate — Validate a datachain instance

Features

  • Versioned schemas — every request pins the schema version it reads
  • Composed icons, released and pinned per schema version
  • Field projection, pagination, search, and locale filtering on the element list
  • Validation and resolution endpoints for datachain instances
  • Responses wrapped in an { ok, … } envelope
v2 currently publishes ai@… schema versions only. The device taxonomy remains available from v1 and v0. See the v2 reference.

v1 (Frozen)

Released: 2024-06-11

The first versioned release of the DTPR API with typed endpoints and locale filtering.

Endpoints

  • GET /api/v1/elements — All elements across all datachain types
  • GET /api/v1/elements/:datachain_type — Elements filtered by datachain type (device, ai)
  • GET /api/v1/categories/:datachain_type — Categories for a datachain type
  • GET /api/v1/icons/:icon_id.svg — Element icon (148 icons)

Features

  • Structured schema metadata on every response object
  • Locale array format for all user-facing text
  • ?locales= query parameter for filtering locale content
  • Category-level element variables with inheritance
  • Version timestamps calculated from the latest update across all locales
v1 is frozen. It serves exactly what dtpr.io served — byte for byte, apart from the rewritten icon URLs — and its content will not change again, including the defect where GET /api/v1/elements?locales=… returns 500 Server Error. Use the typed endpoints for locale filtering, and v2 for new integrations.

v0 (Frozen)

The original unversioned API. Returns a flat locale-specific response format without schema metadata.

Endpoints

  • GET /api/v0/:locale — Pre-rendered elements for one locale (en, fr, es, pt, tl, km)
  • GET /api/v0/icons/:icon_id.svg — Element icon (123 icons)
v0 is frozen and preserved as-is, quirks included. It will not be extended.
Copyright © 2026