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

# Search ReportSubscriptions

> Search and list ReportSubscription records with filtering, sorting, and pagination.

A scheduled email delivery of a saved report or dashboard: the data is attached as CSV, the body carries an AI summary and a link to open it in the dashboard. Use report\_definition\_list / report\_dashboard\_list to find the report or dashboard to schedule.

## Authentication

> [!NOTE]
>
> This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
> The authenticated user must be a full unrestricted administrator or have the **`ReportSubscription-List`** role.

## Query Parameters

### Pagination & Sorting

**page** `integer` (default: 1)

The page number to retrieve.

**size** `integer` (default: 25)

The number of records per page.

**orderBy** `string`

The property name to sort results by (e.g. `Name`, `CreatedOn`).

**dir** `integer`

Sort direction. `0` for ascending, `1` for descending.

### Filters

**ReportSubscription\_Business** `integer`

Filter by iD of the business the schedule belongs to.

**ReportSubscription\_Name** `string`

Filter by name of the schedule, e.g. Weekly revenue to finance.

**ReportSubscription\_ReportDefinition** `integer`

Filter by saved report to send (exactly one of ReportDefinitionId, ReportDashboardId, TemplateKey or DashboardTemplateKey).

**ReportSubscription\_ReportDefinition\_Name** `string`

Filter by display value for ReportDefinition.Name..

**ReportSubscription\_ReportDashboard** `integer`

Filter by saved dashboard to send: every report tile is attached as CSV (set either ReportDefinitionId or ReportDashboardId).

**ReportSubscription\_ReportDashboard\_Name** `string`

Filter by display value for ReportDashboard.Name..

**ReportSubscription\_TemplateKey** `string`

Filter by built-in report template to send (key from report\_templates), instead of a saved report.

**ReportSubscription\_DashboardTemplateKey** `string`

Filter by built-in dashboard template to send (key from report\_templates kind=dashboard), instead of a saved dashboard.

**ReportSubscription\_Recipients** `string`

Filter by email addresses separated by commas or semicolons.

**ReportSubscription\_Subject** `string`

Filter by optional email subject; defaults to the report or dashboard name.

**ReportSubscription\_Frequency** `integer`

Filter by daily, Weekly or Monthly.

**ReportSubscription\_DayOfWeek** `integer`

Filter by weekly schedules: 1 = Monday ... 7 = Sunday.

**ReportSubscription\_DayOfMonth** `integer`

Filter by monthly schedules: day of the month (1-28).

**ReportSubscription\_HourOfDay** `integer`

Filter by hour of the day to send (0-23) in the business time zone.

**ReportSubscription\_IncludeAttachment** `boolean`

Filter by attach the report data as CSV files.

**ReportSubscription\_IncludeSummary** `boolean`

Filter by include an AI-written summary of the results in the email body.

**ReportSubscription\_ParametersJson** `string`

Filter by optional JSON: for reports an array of prompt filter overrides \[\{field, op, value}], for dashboards an object of parameter values keyed by parameter id.

**ReportSubscription\_Active** `boolean`

Filter by paused schedules are kept but not sent.

**ReportSubscription\_Owner** `integer`

Filter by user who created the schedule; reports run with this user's permissions (set automatically).

**ReportSubscription\_Owner\_FullName** `string`

Filter by display value for Owner.FullName..

**ReportSubscription\_Owner\_Email** `string`

Filter by display value for Owner.Email..

**ReportSubscription\_NextRunOn** `string`

Filter by uTC time of the next delivery (computed from the schedule).

**ReportSubscription\_LastRunOn** `string`

Filter by uTC time of the last delivery attempt.

**ReportSubscription\_LastRunStatus** `string`

Filter by sent or Failed.

**ReportSubscription\_LastError** `string`

Filter by error message of the last failed delivery.

**ReportSubscription\_RunCount** `integer`

Filter by number of deliveries attempted.

### Range Filters

**from\_ReportSubscription\_DayOfWeek** `integer`

Filter by weekly schedules: 1 = Monday ... 7 = Sunday greater than or equal to this value.

**to\_ReportSubscription\_DayOfWeek** `integer`

Filter by weekly schedules: 1 = Monday ... 7 = Sunday less than or equal to this value.

**from\_ReportSubscription\_DayOfMonth** `integer`

Filter by monthly schedules: day of the month (1-28) greater than or equal to this value.

**to\_ReportSubscription\_DayOfMonth** `integer`

Filter by monthly schedules: day of the month (1-28) less than or equal to this value.

**from\_ReportSubscription\_HourOfDay** `integer`

Filter by hour of the day to send (0-23) in the business time zone greater than or equal to this value.

**to\_ReportSubscription\_HourOfDay** `integer`

Filter by hour of the day to send (0-23) in the business time zone less than or equal to this value.

**from\_ReportSubscription\_NextRunOn** `string`

Filter by uTC time of the next delivery (computed from the schedule) greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.

**to\_ReportSubscription\_NextRunOn** `string`

Filter by uTC time of the next delivery (computed from the schedule) less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.

**from\_ReportSubscription\_LastRunOn** `string`

Filter by uTC time of the last delivery attempt greater than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.

**to\_ReportSubscription\_LastRunOn** `string`

Filter by uTC time of the last delivery attempt less than or equal to this value. Format: `YYYY-MM-DDTHH:mm`.

**from\_ReportSubscription\_RunCount** `integer`

Filter by number of deliveries attempted greater than or equal to this value.

**to\_ReportSubscription\_RunCount** `integer`

Filter by number of deliveries attempted less than or equal to this value.

**from\_ReportSubscription\_CreatedOn** `string`

Filter records created on or after this date. Format: `YYYY-MM-DDTHH:mm`.

**to\_ReportSubscription\_CreatedOn** `string`

Filter records created on or before this date. Format: `YYYY-MM-DDTHH:mm`.

**from\_ReportSubscription\_UpdatedOn** `string`

Filter records updated on or after this date. Format: `YYYY-MM-DDTHH:mm`.

**to\_ReportSubscription\_UpdatedOn** `string`

Filter records updated on or before this date. Format: `YYYY-MM-DDTHH:mm`.

## Code Examples

### Simple listing

```bash cURL theme={null}
curl -X GET \
  "https://spaces.nexudus.com/api/sys/reportsubscriptions?page=1&size=15&orderBy=Name&dir=0" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

```javascript JavaScript theme={null}
const response = await fetch(
  'https://spaces.nexudus.com/api/sys/reportsubscriptions?' + new URLSearchParams({
    page: 1,
    size: 15,
    orderBy: 'Name',
    dir: 1 // Ascending
  }),
  {
    headers: {
      'Authorization': 'Bearer YOUR_TOKEN'
    }
  }
);

const data = await response.json();
```

```python Python theme={null}
import requests

response = requests.get(
    'https://spaces.nexudus.com/api/sys/reportsubscriptions',
    params={
        'page': 1,
        'size': 15,
        'orderBy': 'Name',
        'dir': 0 // Ascending
    },
    headers={
        'Authorization': 'Bearer YOUR_TOKEN'
    }
)

data = response.json()
```

### Filtering by Name

```bash cURL theme={null}
curl -X GET \
  "https://spaces.nexudus.com/api/sys/reportsubscriptions?ReportSubscription_Name=example-value&orderBy=Name&dir=0" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

```javascript JavaScript theme={null}
const response = await fetch(
  'https://spaces.nexudus.com/api/sys/reportsubscriptions?' + new URLSearchParams({
    ReportSubscription_Name: 'example-value',
    orderBy: 'Name',
    dir: 1
  }),
  {
    headers: {
      'Authorization': 'Bearer YOUR_TOKEN'
    }
  }
);

const data = await response.json();
```

```python Python theme={null}
import requests

response = requests.get(
    'https://spaces.nexudus.com/api/sys/reportsubscriptions',
    params={
        'ReportSubscription_Name': 'example-value',
        'orderBy': 'Name',
        'dir': 0 // Ascending
    },
    headers={
        'Authorization': 'Bearer YOUR_TOKEN'
    }
)

data = response.json()
```

### Range filters

```bash cURL theme={null}
curl -X GET \
  "https://spaces.nexudus.com/api/sys/reportsubscriptions?from_ReportSubscription_UpdatedOn=2025-01-01T00:00&to_ReportSubscription_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=0" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

```javascript JavaScript theme={null}
const response = await fetch(
  'https://spaces.nexudus.com/api/sys/reportsubscriptions?' + new URLSearchParams({
    from_ReportSubscription_UpdatedOn: '2025-01-01T00:00',
    to_ReportSubscription_UpdatedOn: '2025-12-31T23:59',
    orderBy: 'UpdatedOn',
    dir: 1 // Descending
   }),
  {
    headers: {
      'Authorization': 'Bearer YOUR_TOKEN'
    }
  }
);

const data = await response.json();
```

```python Python theme={null}
import requests

response = requests.get(
    'https://spaces.nexudus.com/api/sys/reportsubscriptions',
    params={
        'from_ReportSubscription_UpdatedOn': '2025-01-01T00:00',
        'to_ReportSubscription_UpdatedOn': '2025-12-31T23:59',
        'orderBy': 'UpdatedOn',
        'dir': 1 // Descending
    },
    headers={
        'Authorization': 'Bearer YOUR_TOKEN'
    }
)

data = response.json()
```

## Response

### 200

**Records** `ReportSubscription[]`

The list of ReportSubscription records matching the query. See the [Get one ReportSubscription](https://learn.nexudus.com/rest-api/sys/get-reportsubscriptions-by-id.md) endpoint for the full list of properties returned for each record.

> [!WARNING]
>
> **Partial records** — The listing endpoint returns a summary representation of each ReportSubscription. The following fields are **not populated** in the `Records[]` response: `ParametersJson`.
>
> To get all fields, fetch the full record using the [Get one ReportSubscription](https://learn.nexudus.com/rest-api/sys/get-reportsubscriptions-by-id.md) endpoint.
>
> **Important for updates:** When updating a record via `PUT`, always retrieve the full record with a `GET` request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a `PUT` request, as missing fields may be unintentionally cleared.

**CurrentPage** `integer`

Current page number.

**CurrentPageSize** `integer`

Number of records per page.

**CurrentOrderField** `string`

The field used for sorting.

**CurrentSortDirection** `integer`

The sort direction (`0` = ascending, `1` = descending).

**FirstItem** `integer`

Index of the first item on the current page.

**LastItem** `integer`

Index of the last item on the current page.

**TotalItems** `integer`

Total number of matching records across all pages.

**TotalPages** `integer`

Total number of pages.

**HasNextPage** `boolean`

Whether there is a next page of results.

**HasPreviousPage** `boolean`

Whether there is a previous page of results.

```json Example Response theme={null}
{
  "Records": [
    {
      "BusinessId": 0,
      "Name": "",
      "ReportDefinitionId": null,
      "ReportDefinitionName": null,
      "ReportDashboardId": null,
      "ReportDashboardName": null,
      "TemplateKey": null,
      "DashboardTemplateKey": null,
      "Recipients": "",
      "Subject": null,
      "Frequency": 0,
      "DayOfWeek": 0,
      "DayOfMonth": 0,
      "HourOfDay": 0,
      "IncludeAttachment": false,
      "IncludeSummary": false,
      "Active": false,
      "OwnerId": null,
      "OwnerFullName": null,
      "OwnerEmail": null,
      "NextRunOn": null,
      "LastRunOn": null,
      "LastRunStatus": null,
      "LastError": null,
      "RunCount": 0,
      "Id": 87654321,
      "UpdatedOn": "2025-01-15T10:30:00Z",
      "CreatedOn": "2025-01-10T08:00:00Z",
      "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "UpdatedBy": "admin@example.com",
      "IsNew": false,
      "SystemId": null,
      "ToStringText": "ReportSubscription Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "Name",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}
```


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