---
title: "PUT /api/v1/admin/vehicles/{id}"
method: PUT
path: "/api/v1/admin/vehicles/{id}"
tags: ["AdminVehicles"]
---

# PUT /api/v1/admin/vehicles/{id}

`PUT /api/v1/admin/vehicles/{id}`

## Request

- Base URL: `https://api.fireserviceusa.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.fireserviceusa.com/api/v1/admin/vehicles/{id}`
- Auth: none declared

## Path parameters

- `id` integer, required

## Request body

- VehicleData
  - `VehicleDataId` integer
  - `Name` string, nullable
  - `VehicleNumber` string, nullable
  - `RegistrationNumber` string, nullable
  - `VIN` string, nullable
  - `Make` string, nullable
  - `Year` integer, nullable
  - `Model` string, nullable
  - `TankCapacity` number, double, nullable
  - `HighwayMPG` number, double, nullable
  - `CityMPG` number, double, nullable
  - `VehicleSize` integer, nullable
  - `FuelType` integer, nullable
  - `HasNavigationDevice` boolean
  - `HasTachograph` boolean, nullable
  - `VehicleId` string, nullable
  - `Odometer` number, double, nullable
  - `LastUpdated` string, date-time, nullable
  - `SeatCount` integer, nullable
  - `OriginatedFromSync` boolean
  - `InActive` boolean
  - `Latitude` number, double, nullable
  - `Longitude` number, double, nullable
  - `SpeedMph` number, double, nullable
  - `Heading` string, nullable
  - `GpsDisplayState` string, nullable
  - `GpsLastUpdated` string, date-time, nullable
  - `ExcludeFromGpsSync` boolean: When true, scheduled GPS sync never updates this vehicle.
  - `ExcludeFromOvernightGpsSync` boolean: When true, scheduled GPS sync skips this vehicle overnight (10pm–6am Eastern).
  - `GpsSyncIntervalDayMinutes` integer: Daytime GPS sync interval in minutes (1 or 5). Default 1.
  - `GpsSyncIntervalOvernightMinutes` integer: Overnight GPS sync interval in minutes (1 or 5). Default 5.
  - `UserAssignments` VehicleUserAssignment[], nullable
    - `VehicleUserAssignmentId` integer
    - `UserId` integer, required
    - `VehicleDataId` integer, required
    - `User` ApplicationUser
      - `Id` integer
      - `UserName` string, nullable
      - `NormalizedUserName` string, nullable
      - `Email` string, nullable
      - `NormalizedEmail` string, nullable
      - `EmailConfirmed` boolean
      - `PasswordHash` string, nullable
      - `SecurityStamp` string, nullable
      - `ConcurrencyStamp` string, nullable
      - `PhoneNumber` string, nullable
      - `PhoneNumberConfirmed` boolean
      - `TwoFactorEnabled` boolean
      - `LockoutEnd` string, date-time, nullable
      - `LockoutEnabled` boolean
      - `AccessFailedCount` integer
      - `FirstName` string, nullable
      - `LastName` string, nullable
      - `FullName` string, nullable
      - `GP_Department` string, nullable
      - `GP_JobTitle` string, nullable
      - `GP_LocationId` string, nullable
      - `GP_DivisionCode` string, nullable
      - `GP_EmpId` string, nullable
      - `IsActive` boolean
      - `ReceiveTextNotifications` boolean
      - `ReceiveEmailNotifications` boolean
      - `HideInProductionLists` boolean
      - `HideFromTimeApproval` boolean
      - `ForcePasswordReset` boolean
      - `IsEstimator` boolean
      - `IsSupervisor` boolean
      - `LastPasswordChangedDate` string, date-time
      - `PasswordResetExempt` boolean
      - `ProfilePictureUrl` string, nullable
      - `MicrosoftUserId` string, nullable
      - `MicrosoftUserPrincipalName` string, nullable
      - `CalendarSyncEnabled` boolean
      - `CalendarSyncLastSucceeded` boolean, nullable
      - `CalendarSyncFailReason` string, nullable
      - `CalendarVisibleToMasterViewOnly` boolean: When true, this user's calendar details are only visible to users with CalendarMasterView.
      - `CalendarPrivateForEveryone` boolean: When true, only this user can see their calendar details; everyone else sees private blocks.
      - `CalendarHiddenFromNonMasterView` boolean: Ghost mode: this user's organized appointments are omitted entirely for viewers without CalendarMasterView unless the viewer is an attendee. Conflict checks still show a private block.
      - `UseGeneralCalendar` boolean: When true, Outlook create/update/delete for this user uses the shared general organizer mailbox instead of their personal Microsoft account (they may have none, or share someone else's).
      - `TagAppointmentsWithUserTeams` boolean: When true, Outlook sync tags appointments this user organizes with their teams if the appointment is not already on a team calendar. Off by default.
      - `AutoLinkOutlookAppointmentsByJobId` boolean: When true, Outlook sync links this user's incoming appointments to an existing P2 job when the title contains an unbroken run of exactly five digits that matches a job. Off by default. An appointment that already has a job is left as-is.
      - `OutlookSyncCalendarEventTypeId` integer, nullable: When set, Outlook sync assigns this appointment type to this user's appointments that do not already have one. Null leaves types unchanged.
      - `CalendarDefaultBuiltinFilterId` string, nullable: Built-in calendar quick-filter id (e.g. mine-only) used as the user's default view on load. Mutually exclusive with a preset marked IsDefault.
      - `TeamUsers` TeamUser[], nullable
        - `TeamUserId` integer
        - `TeamId` integer, required
        - `UserId` integer, required
        - `TeamPosId` integer, required
        - `CreateDate` string, date-time
        - `CreateUser` string, nullable
        - `UpdateDate` string, date-time
        - `UpdateUser` string, nullable
        - `Team` Team
          - `TeamId` integer
          - `TeamDesc` string, required
          - `InActive` boolean
          - `HideInReporting` boolean
          - `CalendarOnly` boolean
          - `AllowOnCalendar` boolean: Team can appear in calendar filters and be tagged on appointments. Forced on when P2.Api.Models.DomainModels.Team.CalendarOnly is true. Regular teams can opt in too.
          - `CreateDate` string, date-time
          - `CreateUser` string, nullable
          - `UpdateDate` string, date-time
          - `UpdateUser` string, nullable
          - `TeamUsers` TeamUser[], nullable
        - `User` ApplicationUser (recursive)
        - `Position` TeamPosition
          - `TeamPosId` integer
          - `Position` string, required
          - `InActive` boolean
          - `CreateDate` string, date-time
          - `CreateUser` string, nullable
          - `UpdateDate` string, date-time
          - `UpdateUser` string, nullable
    - `Vehicle` VehicleData (recursive)

## Response `200`

Success

---

[API](https://skmtc.dev/fireserviceusa/apis/fireservice-usa-p2-api.md) - [All operations](https://skmtc.dev/fireserviceusa/apis/fireservice-usa-p2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireserviceusa/apis/fireservice-usa-p2-api/revisions/96ea2ea68d87?raw)
