---
title: "Create a new visit to accept video upload requests"
method: POST
path: "/v1/visits"
tags: ["Visits"]
---

# Create a new visit to accept video upload requests

`POST /v1/visits`

## Request body

- CreateVisitRequest
  - `location_id` string, required
  - `visit_type_slug` string, required
  - `work_order_id` string, nullable

## Response `201`

Created

- VisitResponse
  - `visit` VisitExternalSchema, required
    - `id` string, required
    - `type` string, required — Display name of the visit type. Deprecated: Prefer using visit_type instead.
    - `visit_type` VisitTypeExternalSchema, required
      - `id` string, required
      - `display_name` string, required
      - `slug` string, required — URL-friendly identifier for this visit type.
    - `visit_request_status` 'visit_started' | 'uploading' | 'processing' | 'in_review' | 'completed' | 'cancelled', required — Customer facing visit statuses. Each VisitRequestStatus should map directly to a ExternalVisitRequestStatus. But we don't need ExternalVisitRequestStatus to directly map back to VisitRequestStatus.
    - `visited_at` string, date-time, required
    - `visited_by` UserExternalSchema, required
      - `id` string, required
      - `email` string, required
      - `first_name` string, required
      - `last_name` string, required
      - `reference_key` string, nullable, required — External identifier for this user.
    - `reviewed_by` UserExternalSchema
      - `id` string, required
      - `email` string, required
      - `first_name` string, required
      - `last_name` string, required
      - `reference_key` string, nullable, required — External identifier for this user.
    - `video` VideoExternalSchema, required
      - `id` string, required
      - `duration_ms` integer, required
      - `height` integer, required
      - `width` integer, required
    - `product_url` string, required — Link to the NavigateAI dashboard for reviewing this visit.
    - `product_pdf_url` string, required — Link to download a PDF report for this visit.
    - `location_id` string, required
    - `work_order_id` string, nullable, required — The work order this visit is associated with, if any.
    - `access_code_metadata` object, nullable, required — Metadata from the access code that initiated this visit, if applicable.
    - `notes` string, nullable, required — Summary notes generated for this visit.
    - `metadata` object, required — Additional structured data captured for this visit.

---

[API](https://skmtc.net/navigateai/apis/navigateai-api.md) · [All operations](https://skmtc.net/navigateai/apis/navigateai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/navigateai/navigateai-api/revisions/5fb236d03a88/schema)
