---
title: "For AI agents and developers"
url: https://dpdp.myndsolution.com/wiki/for-ai-agents/
description: "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…"
kind: reference
updated: 2026-09-09
text_type: reference
publisher: MYND Integrated Solutions
license: Official Government of India texts are reproduced verbatim (public domain / open government data). Interpretation is CC BY 4.0, MYND Integrated Solutions.
disclaimer: Not legal advice. Official text prevails over any interpretation.
html_version: https://dpdp.myndsolution.com/wiki/for-ai-agents/
---
# For AI agents and developers


## 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: *`:

| Endpoint | Content |
|---|---|
| `manifest.json` | Endpoint list, build time, licence |
| `act.json` | The whole Act: chapters, sections (structured body blocks, verbatim text, commencement, status) and the Schedule |
| `act/sections/{n}.json` | One section, with a `markdown` rendering |
| `act/schedule.json` | The penalty schedule |
| `rules.json`, `rules/rules/{n}.json`, `rules/schedules/{n}.json` | The Rules, likewise |
| `notifications.json`, `notifications/{id}.json` | Every notification with its verbatim text and effects |
| `glossary.json` | Every defined term with official definition |
| `status.json` | In-force status of every section and rule as of the build date |
| `timeline.json`, `map.json`, `sources.json`, `updates.json`, `pages.json` | Timeline, Act-to-Rules map, source registry with checksums, daily updates, page list |
| `search-index.json` | Title, 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.
