> ## Documentation Index
> Fetch the complete documentation index at: https://code.dcycle.io/llms.txt
> Use this file to discover all available pages before exploring further.

# CDP

> Read the questionnaire and answers of a CDP project, review Leia drafts and export everything to fill the CDP portal

<Note>
  **Early Access** - The Dcycle CLI is currently available for enterprise customers.
  [Contact us](/docs/support) to learn more about access.
</Note>

## Overview

`dcy cdp` reads a CDP project: the CDP corporate questionnaire (one row per question, with its response type, options and table columns), the answers saved in Dcycle and the drafts Leia wrote from the project's documents. `dcy cdp export` writes all of it to one Markdown or JSON file, keyed by the CDP question code, that you (or an agent such as Claude in Chrome) can follow to fill the CDP portal.

Creating a CDP project needs the **CDP plan** (`dcy project create --type cdp`; without it the API answers `403 CDP_NOT_ENABLED`). Reading an existing project needs no plan.

<Warning>
  `dcy cdp suggestions run` runs Leia (an LLM) over the project's documents and consumes tokens. It shows a warning and asks for confirmation; pass `--yes` to skip it (required in scripts). Prefer a dev environment for tests.
</Warning>

All commands take `--org <id>` to override the active organization and respect `--format json`. `--module` (slug or number, comma-separated) and `--code` (comma-separated; `7.53` also selects `7.53.1`, `7.53.2`…) narrow any command to part of the questionnaire. The MCP server exposes the read-only subset as `get_cdp_questionnaire`, `get_cdp_answers` and `list_cdp_suggestions`.

### Available Commands

| Command | Cost | Description |
| - | - | - |
| `dcy cdp questionnaire <project-id>` | — | The questions in questionnaire order: code, module, type, answered or not |
| `dcy cdp answers <project-id>` | — | Saved answers (`--has-response`, `--suggestions` adds Leia's pending drafts) |
| `dcy cdp export <project-id>` | — | Questionnaire + answers + evidence files + pending drafts, as Markdown (`--as md`, default) or JSON (`--as json`); `--file` writes one file, `--dir` one file per module |
| `dcy cdp suggestions list <project-id>` | — | Leia's drafts with the question they answer (`--status`, default `pending`; empty for all) |
| `dcy cdp suggestions run <project-id> --file-id <id>...` | cost | Ask Leia to draft answers from project PDFs; `--code`/`--module` limit the questions |
| `dcy cdp suggestions accept <project-id> <suggestion-id>...` | — | The draft becomes the saved answer (and its cited files the answer's evidence) |
| `dcy cdp suggestions edit <project-id> <suggestion-id> --text "..."` | — | Save your own text as the answer |
| `dcy cdp suggestions dismiss <project-id> <suggestion-id>...` | — | Dismiss drafts; the answer is left as it is |

***

## Questionnaire

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
dcy cdp questionnaire <project-id> --module climate_change --code 7.53
```

```
7.53 | climate_change | matrix | unanswered | Did you have an emissions target that was active in the reporting year?
7.53.1 | climate_change | matrix | answered | Provide details of your absolute emissions target(s) and progress made against those targets.
```

`--format json` returns each question with its options and table columns (`name`, `type`, `mandatory`, `options`); a grouped option list shows each group header as `[Group]`.

## Answers

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
dcy cdp answers <project-id> --has-response false --suggestions
```

Each row is the question code, the question, the saved answer and, with `--suggestions`, Leia's pending draft. A draft is not an answer until someone accepts it.

## Export for the CDP portal

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
dcy cdp export <project-id> --file cdp-2026.md
```

```
Wrote cdp-2026.md: 278 questions, 41 answered, 63 with a pending Leia draft
```

The Markdown has one `##` section per module and one `###` section per question, headed by the CDP code exactly as the portal shows it. Each question lists its type, conditions (sector, "shown when"), options and table columns, then:

* **Answer** — what Dcycle holds, to be typed as is.
* **Evidence files** — the files attached to the answer in Dcycle.
* **Leia draft** — an unreviewed proposal, with what it still lacks and its sources (file, page). Confirm it before using it, or accept it first with `dcy cdp suggestions accept`.

Answers and drafts are quoted verbatim in ` ```text ` blocks. A select answer reads `Selected: A; B`, plus `Other / free text: …` when CDP's "Other, please specify" was used. Select fields with more than 30 options are summarised (the portal lists them); `--as json` keeps every option. `--guidance` adds CDP's guidance to each question.

The whole questionnaire is long (≈ 450 KB). To work module by module, write one file per module plus an index into a new, empty directory:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
dcy cdp export <project-id> --dir cdp-2026/
```

```
Wrote 12 module files to cdp-2026/: 278 questions, 41 answered, 63 with a pending Leia draft
```

To fill the portal with Claude in Chrome, export with `--dir`, open the CDP portal in Chrome and ask Claude to go through one module file at a time, filling the ones with an **Answer** and asking you about the drafts.

## Leia drafts

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
dcy cdp suggestions run <project-id> --file-id <pdf-id> --file-id <pdf-id> --module climate_change --yes
dcy cdp suggestions list <project-id>
dcy cdp suggestions accept <project-id> <suggestion-id> <suggestion-id>
```

`run` needs files already uploaded to the project; it answers with the run id and the number of questions it will draft. Drafts appear in `suggestions list` (and in the app, under *Datos a reportar*) as the run progresses.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.