Source: https://datafa.st/docs/api/account/websites/update
Markdown source: https://datafa.st/docs/api/account/websites/update.md
Description: Update website settings.

# Update website

`PUT https://datafa.st/api/v1/admin/websites/{websiteId}`

Update website settings.

## Request

### Authentication

- `dft_` account token with `settings:write`.


### Path parameters

| Parameter | Type | Description |
| --- | --- | --- |
| `websiteId` | string | Website ObjectId used by account tokens to choose which website to query or manage. Website ObjectId. The caller token must have access to this website. |

### Body parameters

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `domain` | string | No | New website domain. Must pass domain validation. |
| `name` | string|null | No | Human-readable name for the resource or event. The exact meaning depends on the endpoint. |
| `timezone` | string | No | Timezone used to interpret dates and group analytics buckets. Defaults to the website timezone. |
| `currency` | string | No | Currency code for money values, such as `USD` or `EUR`. |
| `kpi` | string | No | Goal or metric used as the dashboard KPI. |
| `kpiColorScheme` | string | No | Dashboard KPI color scheme. |
| `revenueMetric` | string | No | Revenue metric preference, for example `revenue` or `mrr`. |
| `sendWeeklyReports` | boolean | No | Enable or disable weekly reports. |
| `sendViralTrafficAlerts` | boolean | No | Enable or disable viral traffic alerts. |
| `isPublicDashboardEnabled` | boolean | No | Enable public dashboard sharing. |
| `isPublicDataEnabled` | boolean | No | Enable public data access for public dashboards/widgets. |
| `isCookieless` | boolean | No | Enable cookieless tracking mode. |
| `isAttackModeEnabled` | boolean | No | Enable attack mode protection. |
| `includeRenewalRevenue` | boolean | No | Include renewal revenue in KPI calculations. |
| `allowedHostnames` | string[] | No | Allowed hostnames for tracking. |
| `isAllHostnamesAllowed` | boolean | No | Allow tracking from all hostnames. |
| `excludedIps` | string[] | No | IP addresses excluded from tracking. |
| `excludedPaths` | string[] | No | Paths excluded from tracking. |
| `excludedCountries` | string[] | No | Countries excluded from tracking. |
| `excludedHostnames` | string[] | No | Hostnames excluded from tracking. |

## Response

Returns a JSON object with `status` and endpoint-specific fields.

### Response fields

| Field | Type | Description |
| --- | --- | --- |
| `data[]._id` | string | Website ObjectId. |
| `data[].domain` | string | Website domain. |
| `data[].name` | string|null | Human-readable name for the resource or event. The exact meaning depends on the endpoint. |
| `data[].trackingId` | string | Script tracking ID. |
| `data[].timezone` | string | Timezone used to interpret dates and group analytics buckets. Defaults to the website timezone. |
| `data[].currency` | string | Currency code for money values, such as `USD` or `EUR`. |
| `data[].kpi` | string|null | Configured KPI goal or metric. |
| `data[].kpiColorScheme` | string|null | KPI color scheme. |
| `data[].revenueMetric` | string|null | Revenue metric preference. |
| `data[].isCookieless` | boolean | Whether cookieless tracking is enabled. |
| `data[].includeRenewalRevenue` | boolean | Whether renewal revenue is included in KPI calculations. |
| `data[].allowedHostnames` | string[] | Allowed hostnames. |
| `data[].excludedIps` | string[] | Excluded IPs. |
| `data[].excludedPaths` | string[] | Excluded paths. |
| `data[].excludedCountries` | string[] | Excluded countries. |
| `data[].excludedHostnames` | string[] | Excluded hostnames. |

### Errors

Common errors include `400` for invalid input, `401` for missing or invalid tokens, `403` for missing permissions or website access, `404` for missing resources, and `500` for server errors.

## Code examples

### Example request

```bash
curl -X PUT "https://datafa.st/api/v1/admin/websites/{websiteId}" \
  -H "Authorization: Bearer dft_xxx" \
  -H "Content-Type: application/json" \
  -d '{"name":"New name","timezone":"Europe/Paris","kpi":"signup"}'
```

### Success response

```json
{
  "status": "success",
  "data": [{
    "_id": "665f0b3c4d2e1a0012345678",
    "domain": "example.com",
    "name": "Example",
    "trackingId": "dfid_abc123",
    "timezone": "America/New_York",
    "currency": "USD",
    "kpi": "signup",
    "isCookieless": false,
    "includeRenewalRevenue": true,
    "allowedHostnames": ["example.com"],
    "excludedIps": [],
    "excludedPaths": [],
    "excludedCountries": [],
    "excludedHostnames": []
  }]
}
```
