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

# Roof reports

> The RoofKit MCP tools for Roof reports, with their access, kind, and arguments.

This page lists 12 tools. Each tool shows only to members whose role grants its access. The descriptions are the text that the MCP server sends to AI clients.

## List reports

List measurement reports.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.list` | `reports.read` | Read |

**Arguments**

**limit** `number`

## Get report

Get one measurement report and its export files. For a download link to one file, call roofkit.reports.exports.download\_link.get with its export\_id.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.get` | `reports.read` | Read |

**Arguments**

**report\_id** `string` *required*

## Open report import

Return the report import screen URL of the app. To import files without the app, call roofkit.reports.import.upload\_link.create.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.import.handoff` | `reports.write` | Handoff link |

**Arguments**

This tool takes no arguments.

## Open report export

Return the report editor URL for export options. To export a PDF without the app, call roofkit.reports.export.create.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.export.handoff` | `reports.export_pdf` | Handoff link |

**Arguments**

This tool takes no arguments.

## Open report approval

Return a report approval handoff URL. Approval stays in the measurement editor.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.approve.handoff` | `reports.approve` | Handoff link |

**Arguments**

This tool takes no arguments.

## Open report geometry

Return a geometry editor handoff URL.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.geometry.handoff` | `reports.write` | Handoff link |

**Arguments**

This tool takes no arguments.

## Start report PDF export

Start a PDF export of one roof report. Returns job\_id at once. Poll roofkit.jobs.get: the result lists the files, and roofkit.reports.exports.download\_link.get returns a download link. The first PDF of a revision and audience consumes workspace credits. A face without pitch holds a client or insurer PDF with CONFLICT. Requires an idempotency key.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.export.create` | `reports.export_pdf` | Billed write |

**Arguments**

**idempotency\_key** `string` *required*

**report\_id** `string` *required*

A report id from roofkit.reports.list.

**revision\_id** `string`

The revision to print. Default the current revision.

**audience** `string`

Who the PDF is for. It picks the sheets, as Deliver does. Allowed values: `client`, `insurer`, `supplier`, `crew`.

**pdf\_profile** `string`

Overrides the workspace PDF profile for this export. Allowed values: `client`, `production`, `custom`.

**locale** `string`

Language of the PDF and the messages. Default en. Allowed values: `en`, `es`.

## Get report download link

Return a download link for one export file of a report. The link works for 15 minutes without sign-in, so share it only with people who may read the file. Ask again for a new link. A technical file also needs reports.export\_technical.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.exports.download_link.get` | `reports.export_pdf` | Read |

**Arguments**

**export\_id** `string` *required*

An export\_id from roofkit.reports.get or an export job result.

## Update report

Update the name, external id, or address of one report. Only the fields sent change, and the change is live in the report list and the next PDF. Send expected\_updated\_at from roofkit.reports.get to refuse the write over a newer change with CONFLICT.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.update` | `reports.write` | Write |

**Arguments**

**report\_id** `string` *required*

A report id from roofkit.reports.list.

**project\_name** `string`

At most 200 characters.

**external\_report\_id** `string`

The id of the report at its vendor. At most 200 characters.

**address** `string`

The property address printed on the PDF. At most 500 characters.

**expected\_updated\_at** `string`

updated\_at of the report as you read it.

## Create report import link

Create a one-time upload link for a roof report import and start its job. POST the files to upload.url as multipart field files within 8 minutes: one standalone PDF, or an XML, CSV, XLSX, DXF, or ZIP report package. The import creates the report and consumes workspace credits. Poll roofkit.jobs.get with job\_id. Requires an idempotency key.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.import.upload_link.create` | `reports.write` | Billed write |

**Arguments**

**idempotency\_key** `string` *required*

**project\_name** `string`

Name of the new report. Default the name in the file. At most 200 characters.

**external\_report\_id** `string`

The id of the report at its vendor. At most 200 characters.

**locale** `string`

Language of the PDF and the messages. Default en. Allowed values: `en`, `es`.

## Create customer report link

Create the customer link of one report, or return the link that still works. Anyone with the link can view the report without sign-in. A new link delivers the approved current revision: it sends the report.delivered webhook and a JobNimbus note when JobNimbus is connected. Approval stays in the report editor.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.share_link.create` | `reports.export_pdf` | Write |

**Arguments**

**report\_id** `string` *required*

A report id from roofkit.reports.list.

**days** `integer`

Days the link works from now: 7, 30, or 90. Default 30. Allowed values: `7`, `30`, `90`.

## Extend customer report link

Move the end date of the working customer link of one report to days from now. Anyone with the link can view the report until then. A link that expired or was turned off answers NOT\_FOUND: create a new one.

| Tool name | Access | Kind |
| - | - | - |
| `roofkit.reports.share_link.extend` | `reports.export_pdf` | Write |

**Arguments**

**report\_id** `string` *required*

A report id from roofkit.reports.list.

**days** `integer` *required*

Days the link works from now: 7, 30, or 90. Default 30. Allowed values: `7`, `30`, `90`.


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