# Update support config

Replace the support page configuration for a dashboard.

Source: https://statusdashboard.com/docs/api/status-dashboards/dashboards/support/update

`PUT /app/dashboards/{id}/support`

Replaces the entire support page configuration for a dashboard. This is the only write endpoint — use the `enabled` field to control whether the public `/support` page is accessible.

Send the **full configuration** you intend to store. Omitted optional fields (`paragraph`, `contacts`, `faq`) are cleared on save.

***

## Path parameters
| Parameter | Description                |
| --------- | -------------------------- |
| `id`      | The UUID of the dashboard. |

***

## Request
See [API Basics](/docs/api) for required headers.

### Request body
| Field       | Type    | Required | Description                                                                                                                        |
| ----------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`   | boolean | Yes      | Whether the support page should be publicly accessible.                                                                            |
| `paragraph` | string  | No       | Introductory text for the support page. Rich text field. See [Rich text fields](/docs/api#rich-text-fields). Max 1,000 characters. |
| `contacts`  | array   | No       | Contact cards in escalation order. Maximum 5 items.                                                                                |
| `faq`       | array   | No       | FAQ items. Maximum 10 items.                                                                                                       |

### Contact card object
| Field          | Type                      | Required | Limit                                                                               |
| -------------- | ------------------------- | -------- | ----------------------------------------------------------------------------------- |
| `type`         | `"person"` \| `"process"` | Yes      | —                                                                                   |
| `name`         | string                    | Yes      | 100 characters                                                                      |
| `title`        | string                    | No       | 100 characters — person entries only                                                |
| `email`        | string                    | No       | 254 characters — must be a valid email address or empty string; person entries only |
| `phone`        | string                    | No       | 50 characters — person entries only                                                 |
| `url`          | string                    | No       | 2 048 characters — must be a valid URL or empty string                              |
| `instructions` | string                    | No       | 500 characters — plain text note shown to visitors                                  |
| `hidden`       | boolean                   | No       | When `true`, this entry is omitted from the support page                            |

### FAQ item object
| Field      | Type   | Required | Limit                                                                                      |
| ---------- | ------ | -------- | ------------------------------------------------------------------------------------------ |
| `question` | string | Yes      | 200 characters                                                                             |
| `answer`   | string | No       | Rich text field. See [Rich text fields](/docs/api#rich-text-fields). Max 1,000 characters. |

***

## Sample request
```bash
curl -X PUT https://api.statusdashboard.com/app/dashboards/a1b2c3d4-e5f6-7890-abcd-ef1234567890/support \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "paragraph": "<p>Contact our team using the escalation path below.</p>",
    "contacts": [
      {
        "type": "process",
        "name": "Submit a support ticket",
        "url": "https://support.example.com/new-ticket",
        "instructions": "Open a ticket at the link above. If you don't hear back in 10 minutes, escalate to the next step."
      },
      {
        "type": "person",
        "name": "Help Desk",
        "title": "First response",
        "email": "helpdesk@example.com",
        "phone": "+1 800 555 0100",
        "url": "https://support.example.com",
        "instructions": "Call the helpdesk first, then email if no response."
      }
    ],
    "faq": [
      {
        "question": "How do I report an issue not shown here?",
        "answer": "<p>Email helpdesk@example.com with a description of the problem.</p>"
      }
    ]
  }'
```

## Sample response
**Status: `200 OK`**

```json
{
  "enabled": true,
  "paragraph": "<p>Contact our team using the escalation path below.</p>",
  "contacts": [
    {
      "type": "process",
      "name": "Submit a support ticket",
      "url": "https://support.example.com/new-ticket",
      "instructions": "Open a ticket at the link above. If you don't hear back in 10 minutes, escalate to the next step."
    },
    {
      "type": "person",
      "name": "Help Desk",
      "title": "First response",
      "email": "helpdesk@example.com",
      "phone": "+1 800 555 0100",
      "url": "https://support.example.com",
      "instructions": "Call the helpdesk first, then email if no response."
    }
  ],
  "faq": [
    {
      "question": "How do I report an issue not shown here?",
      "answer": "<p>Email helpdesk@example.com with a description of the problem.</p>"
    }
  ]
}
```

***

## Validation errors
**Status: `400 Bad Request`**

```json
{
  "error": "Validation error",
  "details": [
    {
      "path": ["contacts", 0, "email"],
      "message": "Invalid email address"
    }
  ]
}
```

***

## Error responses
| Status | When                                                                 |
| ------ | -------------------------------------------------------------------- |
| `400`  | Validation error — check the `details` array.                        |
| `404`  | Dashboard not found or does not belong to the caller's organization. |
