---
title: "Execute report"
method: POST
path: "/api/2.0/reports/run"
tags: ["Report Management API"]
---

# Execute report

`POST /api/2.0/reports/run`

## Request

- Base URL: `https://app.agenticbi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.agenticbi.com/api/2.0/reports/run`
- Auth: HTTP bearer

## Request body

- EmailReport: Email report information
  - `createdDate` integer: Created date in milliseconds
  - `lastModDate` integer: Last modified date
  - `id` integer: Report ID
  - `userId` integer: Report owner's user ID
  - `username` string: Report owner's username
  - `status` integer: Report status
  - `name` string, required: Report name
  - `text` string: Email body text
  - `autoShared` boolean: Is report auto-shared on
  - `schedule` Schedule, required: Schedule information
    - `frequencyType` string, required: Frequency type
    - `frequency` integer, required: Frequency count
    - `startTime` string: Start time. This can either be time HH:mm or date time MM/dd/yyyy HH:mm
    - `nextExecutionTime` integer: Next execution time in milliseconds
  - `executionReport` ExecutionReport[]
    - `executionDate` integer: Date in milliseconds
    - `executionStatus` 'UNKNOWN' | 'RUNNING' | 'SUCCESS' | 'FAILURE' | 'ALERT' | 'TIMEOUT': Status
    - `duration` integer: Duration
    - `details` ActionApiResponse[]: Details
      - `ok` boolean: Whether or not the response is a success
      - `channel` 'EMAIL' | 'WEBHOOK' | 'SLACK' | 'TEAMS': Channel
      - `message` string: Action result details message
  - `accessLevel` integer: Access level of the report for current user
  - `properties` EmailReportProps, required: Email report properties
    - `datasetReports` DatasetReport[]: Report datasets
      - `datasetId` integer, required: Dataset ID
      - `name` string: Dataset name
      - `c9SQLFilter` string: C9QL filter
    - `dashboards` DashboardReport[]: Report dashboards
      - `id` integer, required: Asset ID
      - `name` string: Asset name
      - `exportInsights` boolean: Output as Insights text
      - `exportRecommendations` boolean: Export AI Recommendations
      - `aiRecContext` string: AI Recommendations Context
      - `exportPPT` boolean: Output as PowerPoint file
    - `widgets` WidgetReport[]: Report widgets
      - `id` integer, required: Asset ID
      - `name` string: Asset name
      - `associatedDashboardId` integer: Dashboard ID used to apply filters to widget
      - `exportPDF` boolean: Output as PDF file
      - `exportCSV` boolean: Output as CSV file
      - `exportExcel` boolean: Output as Excel file
      - `exportInsights` boolean: Output as Insights text
      - `aiEnabled` boolean: AI Insights Enablement
      - `aiContext` string: AI Context
      - `exportRecommendations` boolean: Export AI Recommendations
      - `aiRecContext` string: AI Recommendations Context
      - `skipIfEmpty` boolean: Skip attachment if widget data is empty
    - `apps` AppReport[]: App pages attached as PDFs
      - `id` integer, required: Asset ID
      - `name` string: Asset name
      - `path` string: App page path
      - `query` string: App page query string
    - `from` string: Email from
    - `replyTo` string: Email reply to
    - `subject` string: Email subject
    - `sendTo` string[]: Email send to
    - `cc` string[]: Email cc
    - `bcc` string[]: Email bcc
    - `disablePDFAttachments` boolean: Whether or not to exclude PDF attachments
    - `reportAs` integer: Report as user ID
    - `reportContentFilters` Filter[]: Report content filters
      - `fieldName` string, required: Filter field name. Either fieldName or fieldNames has to be not empty
      - `fieldNames` string[], required: Filter field names in case of tree filter. Either fieldName or fieldNames has to be not empty
      - `values` object[]: Filter values
      - `operator` string: Filter operator
      - `locked` boolean: Whether or not filter is locked (ie: not modifiable)
      - `requireValue` boolean: Whether or not filter requires value to be set
      - `enabled` boolean: Whether or not filter is enabled (default is true)
      - `controlType` string: Filter control type
      - `visible` boolean: Whether or not filter is visible (default is true)
      - `hitList` integer: Suggestion values dataset ID
      - `hitListLabel` string: Suggestion label field name of the hit list dataset
      - `hitListValue` string: Suggestion value field name of the hit list dataset
      - `filteringResult` boolean: Whether the filter should be applied before (false) or after (true) the widget data has been processed
      - `label` string: Display label for the filter
      - `or` boolean: Whether this filter is OR'd with the previous filter (for SQL parsing)
      - `description` string: Filter description
      - `dateLimit` string: Filter date limit
      - `dateLimitOptions` string: Filter date limit options (restriction and from token)
      - `displayValues` object[]: Custom display values
      - `plainControlType` string: Control type for plain text field type
      - `dynamic` boolean: Whether or not filter's value is automatically selected
      - `inclusiveTime` boolean: Whether time range filter is inclusive (includes exact start/end times, where start time is for Start Date and end time for End Date. UI tooltip: When checked, creates a single continuous time period from Start Date/Time to End Date/Time. When unchecked, applies the time range to each day separately (e.g., 9:00-17:00 every day within the date range).)
      - `groupHeading` boolean: Whether this entry is a display-only group heading (fieldName contains the heading text)
      - `divider` boolean: Whether this entry is a display-only divider between filter groups
    - `webhooks` integer[]: Webhook IDs
    - `slacks` integer[]: Slack IDs
    - `teams` integer[]: Team IDs
    - `nlpQuery` string: NLP query
    - `nlpDatasetId` integer: Report NLP context path
    - `skipReportIfAttachmentsAreBlank` boolean: Skip Report if no attachments or all attachments are empty
    - `reportContainsWidgetExport` boolean
  - `attachments` Attachments, required: Email report attachments
    - `pdfBuilderDashboards` DashboardReport[]: PDF Builder Report dashboards
      - `id` integer, required: Asset ID
      - `name` string: Asset name
      - `exportInsights` boolean: Output as Insights text
      - `exportRecommendations` boolean: Export AI Recommendations
      - `aiRecContext` string: AI Recommendations Context
      - `exportPPT` boolean: Output as PowerPoint file

## Response `200`

Success

- ExecutionReport: Email execution report
  - `executionDate` integer: Date in milliseconds
  - `executionStatus` 'UNKNOWN' | 'RUNNING' | 'SUCCESS' | 'FAILURE' | 'ALERT' | 'TIMEOUT': Status
  - `duration` integer: Duration
  - `details` ActionApiResponse[]: Details
    - `ok` boolean: Whether or not the response is a success
    - `channel` 'EMAIL' | 'WEBHOOK' | 'SLACK' | 'TEAMS': Channel
    - `message` string: Action result details message

## Other responses

- `400`: Bad request
- `401`: User is not authenticated
- `403`: User is not allowed to access this resource
- `500`: Error during processing

---

[API](https://skmtc.dev/agenticbi/apis/user-management-api.md) · [All operations](https://skmtc.dev/agenticbi/apis/user-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agenticbi/apis/user-management-api/revisions/62c42a99830e?raw)
