# JSON Format for TDMrep Declarations

This section defines the JSON format used to express TDMrep declarations under the TDM·AI Protocol. TDMrep uses a simple two-field structure bound to an ISCC fingerprint, making it straightforward to implement while remaining fully machine-readable.

## Declaration Format

Each declaration consists of a flat key-value structure:

```json
{
  "iscc": "ISCC:EXAMPLE5QH7FTV7N5YVD5UMF4TUKFFGDGCOI4UDFKE4FNPW6C3L7J2Y",
  "tdm-reservation": 1,
  "tdm-policy": "https://example.com/tdm-policy"
}
```

### **Keys**

* `tdm-reservation` – indicates whether TDM rights are reserved. Required.
* `tdm-policy` – a URI pointing to a policy document specifying the conditions under which content may be used for TDM. Optional; only meaningful when `tdm-reservation` is `1`.

### **Values**

* `1` – TDM rights reserved; automated processing including AI training is not permitted without authorisation
* `0` – TDM rights not reserved; use is permitted without contacting the rightsholder

## Required and Optional Fields

Each declaration **MUST** include:

* `iscc` – a content-derived identifier based on ISO 24138:2024, representing the specific asset to which the declaration applies.
* `tdm-reservation` – the reservation flag (`1` or `0`).

Each declaration **MAY** include:

* `tdm-policy` – a URI to a human- or machine-readable policy document.

## Example Use Cases

### Example 1: Full TDM Reservation

All TDM rights reserved. No automated processing or AI training is permitted without authorisation.

```json
{
  "iscc": "ISCC:EXAMPLE5QH7FTV7N5YVD5UMF4TUKFFGDGCOI4UDFKE4FNPW6C3L7J2Y",
  "tdm-reservation": 1
}
```

#### Example 2: TDM Reservation with Policy Reference

Rights are reserved and a policy document specifies the conditions under which licensing may be available.

```json
{
  "iscc": "ISCC:EXAMPLE5QH7FTV7N5YVD5UMF4TUKFFGDGCOI4UDFKE4FNPW6C3L7J2Y",
  "tdm-reservation": 1,
  "tdm-policy": "https://example.com/tdm-policy"
}
```

#### Example 3: No Reservation

TDM use is explicitly permitted without contacting the rightsholder.

```json
{
  "iscc": "ISCC:EXAMPLE5QH7FTV7N5YVD5UMF4TUKFFGDGCOI4UDFKE4FNPW6C3L7J2Y",
  "tdm-reservation": 0
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tdmai.org/tdmrep-technical-specification/json-format-for-tdmrep-declarations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
