sites

Set one onboarding mark (staff tick or customer skip)

Sets mark_key to now (UTC), stamped with the caller; setting it again refreshes it. mark_key is one of setup_call, first_night, streaming_test (staff ticks: owner, monitoring manager, operator, support) or skip:setup_call, skip:instructions, skip:passcode, skip:speakers, skip:holidays (customer skips: owner, monitoring manager, site manager within scope) or completed (the console's onboarding-complete latch: either set of roles). Any other key is 422. Returns the site's full projected map; who set a mark is never returned. Unknown or retired site is 404, and so is a site outside the caller's scope (a wrong role is 403). For streaming_test or first_night, send camera_ids with the exact tested or reviewed camera row IDs. A legacy write without coverage is accepted but cannot complete the streaming checklist.

put/sites/{site_id}/onboarding-marks/{mark_key}

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/{site_id}/onboarding-marks/{mark_key}
  • Auth
    HTTP bearer

Path parameters

site_idstring required
mark_key'setup_call' | 'first_night' | 'streaming_test' | 'skip:setup_call' | 'skip:instructions' | 'skip:passcode' | 'skip:speakers' | 'skip:holidays' | 'completed' required

Request body

camera_idsstring[] required

For streaming_test or first_night: the exact camera row IDs covered by the connection test or first-night review. Other marks do not use a body.

Response

Successful Response

onboarding_marksobject

The site's full onboarding marks after the write: mark key -> when it was set (ISO-8601 UTC). Who set a mark is never exposed.

streaming_test_camera_idsstring[] nullable

On streaming_test writes only: exact camera IDs covered by the saved test, or [] after clearing. Legacy marks without coverage return [].

first_night_camera_idsstring[] nullable

On first_night writes only: exact camera IDs covered by the saved review, or [] after clearing. Legacy marks without coverage return [].

Example response

{
  "onboarding_marks": {
    "first_night": "2026-10-13T08:00:00.000Z",
    "skip:passcode": "2026-10-13T09:30:00.000Z"
  }
}

Changes

No recorded changes to this operation across all 2 revisions of this API.