> ## 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.

# Update ReportDashboard

> Update an existing ReportDashboard record.

Updates an existing ReportDashboard record. You must include the `Id` of the record to update along with all required fields.

## 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 **`ReportDashboard-Edit`** role.

## Request Body

### Required Fields

**Id** `integer` *required*

The Id of the ReportDashboard record to update.

**BusinessId** `integer` *required*

ID of the business that owns this dashboard.

**Name** `string` *required*

Dashboard name.

**LayoutJson** `string` *required*

DashboardLayout JSON (version 1): \{ version, parameters: \[\{ id, type: date\_range|business\_scope|enum|text, label, default }], widgets: \[\{ id, kind: report|heading|text, reportDefinitionId?, templateKey?, title?, size: \{ w: 1-4, h: 1-3 }, bindings: \{ parameterId: fieldPath | "\*" }, visualizationOverride? }], refreshIntervalSeconds? }.

**RefreshIntervalSeconds** `integer` *required*

Auto-refresh interval in seconds (0 = manual).

### Optional Fields

**Description** `string`

Optional description.

**IsShared** `boolean`

Visible to every user of the business; when false only the owner sees it.

**OwnerId** `integer`

User who created the dashboard (set automatically).

**IsDefault** `boolean`

Shown first in the Dashboards library for this business.

## Code Examples

```bash cURL theme={null}
curl -X PUT \
  "https://spaces.nexudus.com/api/sys/reportdashboards" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BusinessId": 0,
    "Name": "",
    "LayoutJson": "",
    "RefreshIntervalSeconds": 0,
    "Id": 87654321
}'
```

```javascript JavaScript theme={null}
const response = await fetch(
  'https://spaces.nexudus.com/api/sys/reportdashboards',
  {
    method: 'PUT',
    headers: {
      'Authorization': 'Bearer YOUR_TOKEN',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      BusinessId: 0,
      Name: '',
      LayoutJson: '',
      RefreshIntervalSeconds: 0,
      Id: 87654321
    })
  }
);

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

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

response = requests.put(
    'https://spaces.nexudus.com/api/sys/reportdashboards',
    headers={
        'Authorization': 'Bearer YOUR_TOKEN',
        'Content-Type': 'application/json'
    },
    json={
        'BusinessId': 0,
        'Name': '',
        'LayoutJson': '',
        'RefreshIntervalSeconds': 0,
        'Id': 87654321
    }
)

data = response.json()
```

## Response

### 200

**Status** `integer`

HTTP status code. `200` on success.

**Message** `string`

A human-readable message confirming the update.

**Value** `object`

Contains the `Id` of the updated record.

**WasSuccessful** `boolean`

`true` if the reportdashboard was updated successfully.

**Errors** `array`

`null` on success.

```json Example Response theme={null}
{
  "Status": 200,
  "Message": "ReportDashboard was successfully updated.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}
```

### 400

**Message** `string`

A summary of the validation error(s), in the format `PropertyName: error message`.

**Value** `any`

`null` on validation failure.

**Errors** `object[]`

Array of validation errors.

**AttemptedValue** `any`

The value that was submitted for the field, or `null` if missing.

**Message** `string`

The validation error message.

**PropertyName** `string`

The name of the property that failed validation.

**WasSuccessful** `boolean`

`false` when the request fails validation.

```json Example Response theme={null}
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}
```


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