# Models

## The Report object

```json
{"openapi":"3.1.0","info":{"title":"Agency API — Reports","version":"2.0"},"components":{"schemas":{"Report":{"type":"object","description":"A single report definition in the report catalog.","properties":{"Name":{"type":"string","description":"The human-readable name of the report."},"Id":{"type":"string","description":"The unique identifier of the report on impact.com. Use this as the `ReportId` path parameter when running or exporting the report. May not be present for some web-only reports."},"Category":{"type":"string","description":"The category the report belongs to. Categories group reports by purpose in the impact.com UI.\n\nAdditional categories may exist beyond the values listed below.","enum":["Admin","Beta","Compliance","Cross-Program","Custom","Finance","Insights","Listing","Operations","Partner","Performance"]},"Description":{"type":"string","description":"A short explanation of the data this report shows."},"ApiAccessible":{"type":"boolean","description":"Whether this report can be run via the API. When `false`, only `RunUri` (web app URL) is populated; the report can only be run from the impact.com UI."},"ApiRunUri":{"type":"string","format":"uri-reference","description":"The relative URI to run the report synchronously via the legacy `GET /Reports/{ReportId}` endpoint. Present when `ApiAccessible` is `true`."},"DeferredApiRunUri":{"type":"string","format":"uri-reference","description":"The relative URI to export the report asynchronously via the `GET /ReportExport/{ReportId}` endpoint. Present when `ApiAccessible` is `true`.\n\n**Recommended** over `ApiRunUri` for any non-trivial report."},"MetaDataUri":{"type":"string","format":"uri-reference","description":"The relative URI to retrieve the report's metadata (filters and attributes). Present when `ApiAccessible` is `true`."},"RunUri":{"type":"string","format":"uri-reference","description":"The relative URI to run the report in the impact.com web app. Present when `ApiAccessible` is `false` — these reports cannot be run via API."}}}}}}
```

## The ReportMetadata object

```json
{"openapi":"3.1.0","info":{"title":"Agency API — Reports","version":"2.0"},"components":{"schemas":{"ReportMetadata":{"type":"object","description":"Metadata describing a single report's accepted filters (input parameters) and returned attributes (output columns).","properties":{"Name":{"type":"string","description":"The human-readable name of the report."},"Id":{"type":"string","description":"The unique identifier of the report on impact.com."},"Description":{"type":"string","description":"A short explanation of the data this report shows."},"Filters":{"type":"array","description":"The filter parameters this report accepts as query parameters. Filter names from this list (uppercased with underscores, e.g., `Start Date` → `START_DATE`) are passed as query parameters to the `Reports/{ReportId}` or `ReportExport/{ReportId}` endpoints.","items":{"$ref":"#/components/schemas/ReportFilter"}},"Attributes":{"type":"array","description":"The output columns this report returns. Each entry describes one field of each record in the report results.","items":{"$ref":"#/components/schemas/ReportAttribute"}},"RunUri":{"type":"string","format":"uri-reference","description":"The relative URI to run the report."},"Uri":{"type":"string","format":"uri-reference","description":"The relative URI of this metadata resource."}}},"ReportFilter":{"type":"object","description":"A single filter parameter that a report accepts.","properties":{"Name":{"type":"string","description":"The display name of the filter as shown in the impact.com UI (e.g., `\"Start Date\"`). When passing the filter as a query parameter, convert it to uppercase with underscores in place of spaces — `\"Start Date\"` becomes `START_DATE`."},"DataType":{"type":"string","description":"The data type the filter accepts.","enum":["Boolean","Date (yyyy-MM-dd'T'HH:mm:ssZZ)","Decimal","Integer","String"]},"Format":{"type":"string","description":"An optional input format constraint. When empty, no specific format is enforced beyond the data type.","enum":["yyyy-MM-dd",""]}}},"ReportAttribute":{"type":"object","description":"A single output column that a report returns.","properties":{"Name":{"type":"string","description":"The field name as it appears in the report records."},"DataType":{"type":"string","description":"The data type of this field.","enum":["Boolean","Date (yyyy-MM-dd'T'HH:mm:ssZZ)","Decimal","Integer","String"]},"Description":{"type":"string","description":"A short description of what this field represents. May be empty."}}}}}}
```


---

# 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://integrations.impact.com/agency-v3/agency-v2/reference/reportexport/models.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.
