DPDP Wiki Talk to us

/Machine readable

For AI agents and developers

How machines should read the DPDP Wiki - Markdown twins of every page, Accept text/markdown negotiation, llms.txt, a JSON API of the Act and Rules, and the terms of automated use.

Everything has a Markdown twin#

Every HTML page on this wiki has a Markdown version with the same content and a small front matter block (title, URL, kind, official source, licence, disclaimer). Three ways to get it:

  • Append index.md to any directory URL: https://dpdp.myndsolution.com/wiki/act/section-8-general-obligations-of-data-fiduciary/index.md
  • Or append .md to the path without the trailing slash: .../section-8-general-obligations-of-data-fiduciary.md
  • Or send Accept: text/markdown to the normal URL; the server answers with Content-Type: text/markdown; charset=utf-8 and a Vary: Accept header.

Every HTML page also declares <link rel="alternate" type="text/markdown" href="…">, so you can discover the twin from the page itself.

llms.txt#

/wiki/llms.txt follows the llms.txt convention: an annotated index of every page with a one-line summary and the Markdown URL. /wiki/llms-full.txt is the whole official corpus (Act, Rules, Schedules, notifications, glossary) concatenated as Markdown, for agents that want everything in one request.

JSON API#

Static JSON under /wiki/api/v1/, regenerated on every build, Access-Control-Allow-Origin: *:

EndpointContent
manifest.jsonEndpoint list, build time, licence
act.jsonThe whole Act: chapters, sections (structured body blocks, verbatim text, commencement, status) and the Schedule
act/sections/{n}.jsonOne section, with a markdown rendering
act/schedule.jsonThe penalty schedule
rules.json, rules/rules/{n}.json, rules/schedules/{n}.jsonThe Rules, likewise
notifications.json, notifications/{id}.jsonEvery notification with its verbatim text and effects
glossary.jsonEvery defined term with official definition
status.jsonIn-force status of every section and rule as of the build date
timeline.json, map.json, sources.json, updates.json, pages.jsonTimeline, Act-to-Rules map, source registry with checksums, daily updates, page list
search-index.jsonTitle, URL and text of every page for your own retrieval

Body blocks use a small grammar: subsection/subrule "(1)", clause "(a)", subclause "(i)", proviso, explanation, illustration, paragraph, table, each with label, text and optional children. The schema is documented in the repository file CONTENT-SCHEMA.md.

Ask DPDP endpoint#

POST /wiki/api/ask with {"question": "..."} returns {"answer", "html", "citations": [{"label", "url"}], "model", "cached"}. Answers are grounded in retrieved official passages and refuse when the text does not cover the question. Rate limited per IP per day; not for bulk use.

Ground rules for automated use#

  • Cite the wiki page URL and, for legal text, the official source URL in sources.json.
  • Treat anything under "Interpretation", guides, FAQ and Ask answers as interpretation, not as the law.
  • robots.txt allows all crawlers, including AI training and answer crawlers. Please keep to reasonable request rates; the whole corpus is one file (llms-full.txt), so there is no need to crawl thousands of pages.
  • The corpus updates daily; check manifest.json generatedAt or the RSS feed before assuming freshness.