---
title: "Edit Site Contact"
method: PUT
path: "/sites/contacts/{contact_id}"
tags: ["sites"]
---

# Edit Site Contact

`PUT /sites/contacts/{contact_id}`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/sites/contacts/{contact_id}`
- Auth: HTTP bearer

## Path parameters

- `contact_id` string, required

## Request body

- EditSiteContactRequest
  - `first_name` string, required: First name
  - `last_name` string, required: Last name
  - `role` string, required: Role
  - `primary_phone_number` string, required: Primary phone number
  - `afterhours_phone_number` string, required: Afterhours phone number
  - `email` string, required: Email of site contact
  - `notify_method` 'call' | 'text' | 'email', required
  - `availability` ContactAvailabilityWindow[], nullable: Weekly windows, in the site's timezone, when this contact is the one to reach. The review panel pre-selects the first contact on the list whose window covers the current site-local time. Null or empty means no schedule: the contact is eligible at any time and is the fallback when no scheduled contact is on. On edit, omitting the key keeps the stored schedule; null or [] clears it.
    - `days` integer[], required: Days the window starts on, Monday-first: 0 = Monday ... 6 = Sunday.
    - `start` string, required: Start time, HH:MM on a 24-hour clock, site-local.
    - `end` string, required: End time, HH:MM on a 24-hour clock, site-local; '24:00' means midnight. An end earlier than start wraps past midnight into the next day.

## Response `200`

Successful Response

- EditSiteContactResponse
  - `id` string, uuid, required: Unique identifier of the site contact.
  - `first_name` string, required: First name of the site contact.
  - `last_name` string, required: Last name of the site contact.
  - `role` string, required: Role of the site contact.
  - `primary_phone_number` string, required: Primary phone number of the site contact.
  - `afterhours_phone_number` string, required: Afterhours phone number of the site contact.
  - `email` string, required: Email of the site contact.
  - `notify_method` 'call' | 'text' | 'email', required
  - `daily_summary_opt_out` boolean: True when this contact has opted out of the daily site summary e-mail (set by the unsubscribe link, not by the console). Does not affect alerts about the property.
  - `availability` ContactAvailabilityWindow[], nullable: Weekly windows, in the site's timezone, when this contact is the one to reach. The review panel pre-selects the first contact on the list whose window covers the current site-local time. Null or empty means no schedule: the contact is eligible at any time and is the fallback when no scheduled contact is on. On edit, omitting the key keeps the stored schedule; null or [] clears it.
    - `days` integer[], required: Days the window starts on, Monday-first: 0 = Monday ... 6 = Sunday.
    - `start` string, required: Start time, HH:MM on a 24-hour clock, site-local.
    - `end` string, required: End time, HH:MM on a 24-hour clock, site-local; '24:00' means midnight. An end earlier than start wraps past midnight into the next day.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verdun/apis/verdun-api.md) - [All operations](https://skmtc.dev/verdun/apis/verdun-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verdun/apis/verdun-api/revisions/35a2a6ebedda?raw)
