Shiftmove Vehicles API
The Vehicles API from Shiftmove — 7 operation(s) for vehicles.
The Vehicles API from Shiftmove — 7 operation(s) for vehicles.
swagger: '2.0'
info:
version: 1.2.3
title: Fleet API Specifications Custom fields Vehicles API
x-logo:
url: logo.svg
description: "# Introduction\nThe Avrios Fleet-API allows syncing fleet data with our system. The provided API allows you to persist, update, delete and query various entities. Refer to the current [Release Notes](release-notes.html) for relevant changes in the API. \n# Access and usage\n## Authorization\nIn order to use the API a basic auth header must be set on each request: `Authorization: Basic {base64 of username:password}`.\n## Rate limiting\nRequests are limited to 300 requests per minute.\n## Response objects \nIn all API responses, only populated fields will be returned - `null` fields are stripped from the response object.\n## Update endpoints\nWhen updating existing entities, unless otherwise specified we will only update properties sent in the request, and all properties are optional. Clearing a property can be performed by explicitly sending `null`.\n## Date interpretation \nFor consistency with the Avrios UI, some APIs accept dates in the format `yyyy-MM-dd` rather than timestamps. If these are used for filtering or business logic, they will be interpreted as the first second of the day in the company timezone (e.g. `2020-01-01` in CET becomes `2019-12-31T23:00:00Z)`."
host: api.avrios.com
schemes:
- https
tags:
- name: Vehicles
paths:
/v1/vehicles:
get:
tags:
- Vehicles
summary: GET paginated vehicles
description: Access pages of vehicles.
operationId: getAllVehicles
produces:
- application/json
parameters:
- name: limit
in: query
description: Number of items in a page
required: false
type: integer
maximum: 100
minimum: 1
- name: pageNumber
in: query
description: Number of the page
required: false
type: integer
minimum: 1
- name: sortBy
in: query
description: Sorting key
required: false
type: string
enum:
- uuid
- vin
- internalId
- displayName
- state
- activeLicensePlate
- chMasterNumber
- name: reverse
in: query
description: Sorting order
required: false
type: boolean
enum:
- 'false'
- 'true'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/ApiPageMinimalVehicleDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
post:
tags:
- Vehicles
summary: CREATE a new vehicle
description: Create a new vehicle as defined within the request body.
operationId: createVehicle
produces:
- application/json
parameters:
- in: body
name: body
required: false
schema:
$ref: '#/definitions/VehicleCreationApiParams'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/VehicleDto'
'400':
description: Bad request.
'409':
description: This vehicle conflicts with a vehicle already in the system. Either the license plate or the vin are already in use after the commission date.
/v1/vehicles/query:
post:
tags:
- Vehicles
summary: QUERY paginated vehicles
description: Query vehicles based on specific criteria. The result is paginated.
operationId: queryVehicles
produces:
- application/json
parameters:
- in: body
name: body
required: false
schema:
$ref: '#/definitions/VehicleQueryApiParams'
- name: limit
in: query
description: Number of items in a page
required: false
type: integer
maximum: 100
minimum: 1
- name: pageNumber
in: query
description: Number of the page
required: false
type: integer
minimum: 1
- name: sortBy
in: query
description: Sorting key
required: false
type: string
enum:
- uuid
- vin
- internalId
- displayName
- state
- activeLicensePlate
- chMasterNumber
- name: reverse
in: query
description: Sorting order
required: false
type: boolean
enum:
- 'false'
- 'true'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/ApiPageMinimalVehicleDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
/v1/vehicles/{uuid}:
get:
tags:
- Vehicles
summary: GET vehicle by uuid
description: Get detailed information about a specific vehicle.
operationId: findVehicleByUuid
produces:
- application/json
parameters:
- name: uuid
in: path
required: true
type: string
format: uuid
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/VehicleDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
'404':
description: Vehicle not found.
post:
tags:
- Vehicles
summary: UPDATE a specific vehicle
description: Post a map of key value pairs for fields with the new value. A value of `null` is accepted (where marked as nullable) and will clear that field. Cleared fields will not be shown in the response, as `null` fields are stripped by default. If a field is not present in the map it will not be altered. **Fields not marked as nullable can be left out of the map all together so as not to be changed**
operationId: updateVehicleByUuid
produces:
- application/json
parameters:
- name: uuid
in: path
required: true
type: string
format: uuid
- in: body
name: body
required: false
schema:
$ref: '#/definitions/VehicleUpdateApiParams'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/VehicleDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
'404':
description: Vehicle not found.
/v1/vehicles/{uuid}/archive:
post:
tags:
- Vehicles
summary: ARCHIVE a vehicle
description: Avrios will end license plate and fuel card assignments on archive date, so that they can be assigned to other vehicles. No further costs from this vehicle will be taken into account after the archiving date. This is PERMANENT, archived vehicles CANNOT be re-activated. Archiving a vehicle will remove any ongoing decommissioning, this cannot be undone.
operationId: archiveVehicle
produces:
- application/json
parameters:
- name: uuid
in: path
required: true
type: string
format: uuid
- in: body
name: body
required: false
schema:
$ref: '#/definitions/ArchiveVehicleApiParams'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/VehicleDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
'404':
description: Vehicle not found.
/v1/vehicles/{uuid}/costCenter:
post:
tags:
- Vehicles
summary: CREATE vehicle cost center history entry
description: Creates new cost center for the specified vehicle. This will be validated and added to vehicle's cost center history.The entry must not have the same startDate as an existing vehicle cost center history entry.
operationId: updateVehicleCostCenter
produces:
- application/json
parameters:
- name: uuid
in: path
required: true
type: string
format: uuid
- in: body
name: body
required: false
schema:
$ref: '#/definitions/CostCenterApiParams'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/VehicleCostCenterHistoryDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
'404':
description: Vehicle not found.
'409':
description: The new cost center start startDate conflicts with an existing cost center. The conflicting cost center will be returned in an error response.
/v1/vehicles/{uuid}/customFieldValues/{customFieldUuid}:
post:
tags:
- Vehicles
summary: UPDATE vehicle custom field value
description: Update a custom field value for a vehicle, identified by vehicle UUID and custom field UUID. It doesn't matter whether the custom field value has been set for this vehicle previously.
operationId: setVehicleCustomFieldValue
produces:
- application/json
parameters:
- name: uuid
in: path
required: true
type: string
format: uuid
- name: customFieldUuid
in: path
required: true
type: string
format: uuid
- in: body
name: body
required: false
schema:
$ref: '#/definitions/CustomFieldValueUpdateRequest'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/CustomFieldValueDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
'404':
description: Vehicle or custom field not found
/v1/vehicles/{uuid}/subCompany:
post:
tags:
- Vehicles
summary: CREATE a vehicle's sub company
description: Creates a new sub company history entry for the specified vehicle. This will be validated and added to vehicle's sub company history.This sub company entry will end when the next one starts, or it will be indefinite, if last one chronological. The entry must not have the same startDate as an existing vehicle sub company history entry.
operationId: createVehicleSubCompany
produces:
- application/json
parameters:
- name: uuid
in: path
required: true
type: string
format: uuid
- in: body
name: body
required: false
schema:
$ref: '#/definitions/VehicleSubCompanyApiParams'
responses:
'200':
description: Successful operation.
schema:
$ref: '#/definitions/VehicleSubCompanyHistoryDto'
'400':
description: Bad request - information on the invalid fields will be provided in the response body
'404':
description: Vehicle not found.
'409':
description: The new sub company startDate conflicts with an existing sub company. The conflicting sub company will be returned in an error response.
definitions:
ApiPageMinimalVehicleDto:
type: object
properties:
items:
type: array
items:
$ref: '#/definitions/MinimalVehicleDto'
page:
$ref: '#/definitions/ApiPageInformation'
totalItems:
type: integer
format: int64
CustomFieldValueUpdateRequest:
type: object
properties:
textValue:
type: string
dateValue:
type: string
format: date-time
booleanValue:
type: boolean
integerValue:
type: integer
format: int32
decimalValue:
type: number
monetaryAmountValue:
$ref: '#/definitions/MonetaryAmountApiParams'
exactlyOneValueSet:
type: boolean
InstantRangeApiParams:
type: object
properties:
atOrAfter:
type: string
format: date-time
before:
type: string
format: date-time
ArchiveVehicleApiParams:
type: object
properties:
archiveDate:
type: string
format: date
FallbackSpecification:
type: object
properties:
manufacturerName:
type: string
model:
type: string
vehicleType:
type: string
enum:
- BUILD_UP
- BUS
- CAR
- COST
- EXCAVATOR
- INDUSTRIAL_TRUCK
- SPECIAL
- TWO_WHEELER
- TRUCK
- TRACTOR
- TRAILER
- VAN
- SWAP_BODY
MonetaryAmountDto:
type: object
properties:
amount:
type: number
currency:
type: string
description: ISO 4217 alphabetic currency code
VehicleQueryApiParams:
type: object
properties:
uuid:
type: string
format: uuid
vin:
type: string
internalId:
type: string
displayName:
type: string
state:
type: string
enum:
- ACTIVE
- INACTIVE
- DECOMMISSIONED
- IN_PROCUREMENT
- ARCHIVED
activeLicensePlate:
type: string
chMasterNumber:
type: string
lastModified:
$ref: '#/definitions/InstantRangeApiParams'
assignedToPlate:
$ref: '#/definitions/LicensePlateQueryApiParams'
ApiPageInformation:
type: object
properties:
pageNumber:
type: integer
format: int32
limit:
type: integer
format: int32
CustomFieldValueDto:
type: object
properties:
uuid:
type: string
format: uuid
textValue:
type: string
dateValue:
type: string
format: date-time
booleanValue:
type: boolean
integerValue:
type: integer
format: int32
decimalValue:
type: number
monetaryAmountValue:
$ref: '#/definitions/MonetaryAmountDto'
VehicleSubCompanyHistoryDto:
type: object
properties:
uuid:
type: string
format: uuid
subCompany:
type: string
dateRange:
$ref: '#/definitions/DateRangeDto'
VehicleCostCenterHistoryDto:
type: object
properties:
uuid:
type: string
format: uuid
costCenter:
type: string
dateRange:
$ref: '#/definitions/DateRangeDto'
CustomFieldCategoryWithValuesDto:
type: object
properties:
uuid:
type: string
format: uuid
name:
type: string
position:
type: integer
format: int32
customFieldValues:
type: array
items:
$ref: '#/definitions/CustomFieldValueDto'
VehicleUpdateApiParams:
type: object
properties:
customName:
type: string
nullable: true
description: Used to override the vehicle's display name, which is a generated property that otherwise defaults to the current license plate
commissionDate:
type: string
nullable: true
format: date
registrationDate:
type: string
nullable: true
format: date
organizationUuid:
type: string
nullable: false
format: uuid
fuelTankSize:
type: number
nullable: true
fuelType:
type: string
nullable: true
enum:
- CNG
- DIESEL
- ELECTRIC
- GAS
- GASOLINE
- HYBRID_DIESEL
- HYBRID_DIESEL_CNG
- HYBRID_DIESEL_LNG
- HYBRID_DIESEL_LPG
- HYBRID_GASOLINE
- HYBRID_GASOLINE_CNG
- HYBRID_GASOLINE_LNG
- HYBRID_GASOLINE_LPG
- LPG
- LNG
- OTHER
transmissionType:
type: string
nullable: true
enum:
- AUTOMATIC
- MANUAL
jobAccountNumber:
type: string
nullable: true
registrationCountry:
type: string
nullable: false
enum:
- ISO 3166-1 Alpha-2 country code
emissionClass:
type: string
nullable: true
enum:
- EURO_1
- EURO_2
- EURO_3
- EURO_4
- EURO_5
- EURO_5A
- EURO_5B
- EURO_6
- EURO_6B
- EURO_6C
- EURO_6D_TEMP
- EURO_6D
- EURO_I
- EURO_II
- EURO_III
- EURO_IV
- EURO_V
- EURO_VI
- D3
- D4
- E00
- E01
- E02
- E03
- E04
- E05
- E06
- D50
- D51
- D52
- D53
- D54
- F50
- F51
- F52
- F53
- F54
- B00
- B01
- B02
- B03
- B04
- B5A
- B5B
- B6A
- B6B
- B6C
- B6D
- A00
- A01
- A02
- A03
- A04
- A05
- A06
- A07
- A08
- A09
- A10
- A11
- A12
- A13
- A14
- A15
- A16
- A17
- A18
- A19
- A20
- A21
- A22
- A23
- A24
- A25
- A26
- A27
- C00
- C01
- C02
- C03
- D00
- D01
- D02
- D03
- D04
- F00
- F01
- F02
- F03
- F04
- STUFE_I
- STUFE_II
- STUFE_III_A
- STUFE_III_B
- STUFE_IV
- STUFE_V
- TIER_I
- TIER_II
- TIER_III
- TIER_IV_INTERIM
- TIER_IV
- TIER_V
tareWeight:
type: integer
nullable: true
format: int32
loadCapacity:
type: integer
nullable: true
format: int32
maxWeight:
type: integer
nullable: true
format: int32
tensileLoad:
type: integer
nullable: true
format: int32
trailerLoad:
type: integer
nullable: true
format: int32
combinedFuelConsumptionPerKm:
type: number
nullable: true
urbanFuelConsumptionPerKm:
type: number
nullable: true
extraUrbanFuelConsumptionPerKm:
type: number
nullable: true
combinedElectricityConsumptionPerKm:
type: number
nullable: true
urbanElectricityConsumptionPerKm:
type: number
nullable: true
extraUrbanElectricityConsumptionPerKm:
type: number
nullable: true
internalId:
type: string
nullable: true
additionalId:
type: string
nullable: true
euLicenseNumber:
type: string
nullable: true
yearOfConstruction:
type: integer
nullable: true
format: int32
comment:
type: string
nullable: true
licensePlateColor:
type: string
nullable: true
enum:
- BLACK
- BLUE
- BROWN
- GREEN
- RED
- YELLOW
- WHITE
grossListPrice:
type: number
nullable: true
grossListPriceCurrency:
type: string
nullable: true
enum:
- ISO 4217 alphabetic currency code
grossListPriceSource:
type: string
nullable: true
enum:
- DAT
- MANUAL
co2Emission:
type: integer
nullable: true
format: int32
displacement:
type: integer
nullable: true
format: int32
kilowatt:
type: integer
nullable: true
format: int32
manufacturerName:
type: string
nullable: true
vehicleColor:
type: string
nullable: true
interiorColor:
type: string
nullable: true
cushionColor:
type: string
nullable: true
vehicleAvailable:
type: boolean
nullable: false
tireStorageLocation:
type: string
nullable: true
atAkoGross:
$ref: '#/definitions/MonetaryAmountDto'
nullable: true
atAkoNet:
$ref: '#/definitions/MonetaryAmountDto'
nullable: true
atLuxuryTangent:
$ref: '#/definitions/MonetaryAmountDto'
nullable: true
atNova:
type: number
nullable: true
atVatExempt:
type: boolean
nullable: false
chMasterNumber:
type: string
nullable: true
vehicleType:
type: string
nullable: false
enum:
- BUILD_UP
- BUS
- CAR
- COST
- EXCAVATOR
- INDUSTRIAL_TRUCK
- SPECIAL
- TWO_WHEELER
- TRUCK
- TRACTOR
- TRAILER
- VAN
location:
type: string
nullable: true
MonetaryAmountApiParams:
type: object
properties:
amount:
type: number
currency:
type: string
description: ISO 4217 alphabetic currency code
MinimalVehicleDto:
type: object
properties:
uuid:
type: string
format: uuid
vin:
type: string
internalId:
type: string
displayName:
type: string
state:
type: string
enum:
- ACTIVE
- INACTIVE
- DECOMMISSIONED
- IN_PROCUREMENT
- ARCHIVED
activeLicensePlate:
type: string
chMasterNumber:
type: string
lastModified:
type: string
format: date-time
VehicleSubCompanyApiParams:
type: object
properties:
subCompany:
type: string
startDate:
type: string
format: date
VehicleCreationApiParams:
type: object
properties:
activeLicensePlate:
type: string
customName:
type: string
description: Used to override the vehicle's displayName, which is a generated property that otherwise defaults to the current license plate.
vin:
type: string
organizationUuid:
type: string
format: uuid
description: If not provided the organization will be set to that of the API token
commissionDate:
type: string
format: date
costCenter:
type: string
jobAccountNumber:
type: string
registrationDate:
type: string
format: date
registrationCountry:
type: string
description: ISO 3166-1 Alpha-2 country code
fallbackSpecification:
description: This will be used if no vehicle description can be sourced for the given VIN
$ref: '#/definitions/FallbackSpecification'
tensileLoad:
type: integer
format: int32
internalId:
type: string
additionalId:
type: string
euLicenseNumber:
type: string
comment:
type: string
licensePlateColor:
type: string
enum:
- BLACK
- BLUE
- BROWN
- GREEN
- RED
- YELLOW
- WHITE
tax:
$ref: '#/definitions/MonetaryAmountApiParams'
subCompany:
type: string
tireStorageLocation:
type: string
atAkoGross:
$ref: '#/definitions/MonetaryAmountApiParams'
atAkoNet:
$ref: '#/definitions/MonetaryAmountApiParams'
atLuxuryTangent:
$ref: '#/definitions/MonetaryAmountApiParams'
atNova:
type: number
atVatExempt:
type: boolean
chMasterNumber:
type: string
VehicleDto:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
activeLicensePlate:
type: string
readOnly: true
displayName:
type: string
readOnly: true
customName:
type: string
vin:
type: string
readOnly: true
commissionDate:
type: string
format: date
fuelTankSize:
type: number
fuelType:
type: string
enum:
- CNG
- DIESEL
- ELECTRIC
- GAS
- GASOLINE
- HYBRID_DIESEL
- HYBRID_DIESEL_CNG
- HYBRID_DIESEL_LNG
- HYBRID_DIESEL_LPG
- HYBRID_GASOLINE
- HYBRID_GASOLINE_CNG
- HYBRID_GASOLINE_LNG
- HYBRID_GASOLINE_LPG
- LPG
- LNG
- OTHER
transmissionType:
type: string
enum:
- AUTOMATIC
- MANUAL
costCenter:
type: string
readOnly: true
jobAccountNumber:
type: string
registrationDate:
type: string
format: date
readOnly: true
registrationCountry:
type: string
description: ISO 3166-1 Alpha-2 country code
emissionClass:
type: string
enum:
- EURO_0
- EURO_1
- EURO_2
- EURO_3
- EURO_4
- EURO_5
- EURO_5A
- EURO_5B
- EURO_6
- EURO_6A
- EURO_6B
- EURO_6C
- EURO_6C_EVAP
- EURO_6D_TEMP
- EURO_6D_TEMP_EVAP
- EURO_6D_TEMP_ISC
- EURO_6D_TEMP_EVAP_ISC
- EURO_6D_ISC
- EURO_6D_ISC_FCM
- EURO_6D
- EURO_6E
- EURO_6E_BIS
- EURO_6E_BIS_FCM
- EURO_I
- EURO_II
- EURO_III
- EURO_IV
- EURO_V
- EURO_VI
- D3
- D4
- E00
- E01
- E02
- E03
- E04
- E05
- E06
- D50
- D51
- D52
- D53
- D54
- F50
- F51
- F52
- F53
- F54
- B00
- B01
- B02
- B03
- B04
- B5A
- B5B
- B6A
- B6B
- B6C
- B6D
- B6E
- AX
- A00
- A01
- A02
- A03
- A04
- A05
- A06
- A07
- A08
- A09
- A10
- A11
- A12
- A13
- A14
- A15
- A16
- A17
- A18
- A19
- A20
- A21
- A22
- A23
- A24
- A25
- A26
- A27
- C00
- C01
- C02
- C03
- D00
- D01
- D02
- D03
- D04
- F00
- F01
- F02
- F03
- F04
- STUFE_I
- STUFE_II
- STUFE_III_A
- STUFE_III_B
- STUFE_IV
- STUFE_V
- TIER_I
- TIER_II
- TIER_III
- TIER_IV_INTERIM
- TIER_IV
- TIER_V
tareWeight:
type: integer
format: int32
loadCapacity:
type: integer
format: int32
maxWeight:
type: integer
format: int32
tensileLoad:
type: integer
format: int32
trailerLoad:
type: integer
format: int32
combinedFuelConsumptionPerKm:
type: number
urbanFuelConsumptionPerKm:
type: number
extraUrbanFuelConsumptionPerKm:
type: number
combinedElectricityConsumptionPerKm:
type: number
urbanElectricityConsumptionPerKm:
type: number
extraUrbanElectricityConsumptionPerKm:
type: number
internalId:
type: string
additionalId:
type: string
euLicenseNumber:
type: string
yearOfConstruction:
type: integer
format: int32
comment:
type: string
licensePlateColor:
type: string
enum:
- BLACK
- BLUE
- BROWN
- GREEN
- RED
- YELLOW
- WHITE
grossListPrice:
type: number
grossListPriceCurrency:
type: string
description: ISO 4217 alphabetic currency code
grossListPriceSource:
type: string
enum:
- DAT
- PROCUREMENT_OFFER
- MANUAL
state:
type: string
readOnly: true
enum:
- ACTIVE
- INACTIVE
- DECOMMISSIONED
- IN_PROCUREMENT
- ARCHIVED
co2Emission:
type: integer
format: int32
displacement:
type: integer
format: int32
kilowatt:
type: integer
format: int32
tax:
type: number
readOnly: true
taxCurrency:
type: string
description: ISO 4217 alphabetic currency code
readOnly: true
manufacturerName:
type: string
modelName:
type: string
readOnly: true
baseModelDisplayName:
type: string
description: 'DEPRECATED: use modelName instead (will be removed in next release)'
readOnly: true
importVehicleModel:
type: string
description: 'DEPRECATED: use modelName instead (will be removed in next release)'
readOnly: true
subCompany:
type: string
readOnly: true
vehicleColor:
type: string
interiorColor:
type: string
cushionColor:
type: string
vehicleAvailable:
type: boolean
tireStorageLocation:
type: string
atAkoGross:
$ref: '#/definitions/MonetaryAmountDto'
atAkoNet:
$ref: '#/definitions/MonetaryAmountDto'
atLuxuryTangent:
$ref: '#/definitions/MonetaryAmountDto'
atNova:
type: number
atVatExempt:
type: boolean
chMasterNumber:
type: string
vehicleType:
type: string
enum:
- BUILD_UP
- BUS
- CAR
- COST
- EXCAVATOR
- INDUSTRIAL_TRUCK
- SPECIAL
- TWO_WHEELER
- TRUCK
- TRACTOR
- TRAILER
- VAN
- SWAP_BODY
handoverDate:
type: string
format: date-time
readOnly: true
location:
type: string
customFieldValuesByCategory:
type: array
items:
$ref: '#/definitions/CustomFieldCategoryWithValuesDto'
organizationUuid:
type: string
format: uuid
DateRangeDto:
type: object
properties:
startDate:
type: string
format: date
description: Inclusive start date.
endDate:
type: string
format: date
description: Exclusive end date.
CostCenterApiParams:
type: object
properties:
startDate:
type: string
format: date
costCenter:
type: string
LicensePlateQueryApiParams:
type: object
properties:
plate:
type: string
when:
$ref: '#/definitions/InstantRangeApiParams'
x-tagGroups:
- name: Vehicles
tags:
- Vehicles
- Vehicle license plates
- Vehicle assignments
- Vehicle usages
- Vehicle custom fields
- Vehicle financing
- name: Drivers
tags:
- Drivers
- Driver assignments
- Driver custom fields
- name: Other
tags:
- Custom fields
- Invoices
- Organizations