Miridia
Portal
Logistics

Vehicles

The vehicles operations of the Core API.

Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.

MethodPathOperation
POST/api/vehicleCreate vehicle
GET/api/vehicle/{vehicleId}Get vehicle
PUT/api/vehicle/{vehicleId}Update vehicle
DELETE/api/vehicle/{vehicleId}Delete vehicle
POST/api/vehicle/uploadUpload file
POST/api/vehicle/confirm-uploadConfirm upload
GET/api/vehiclesGet all vehicles for current business context
GET/api/vehicle/location/{vehicleId}Get vehicle location
GET/api/tracking/devicesGet all devices
POST/api/tracking/add-deviceCreate and link vehicle tracker
GET/api/vehicle/travel-history/{vehicleId}Get travel history

Create vehicle

POST/api/vehicle

Access. Send a bearer token or an API key. The caller needs the Vehicles modify permission.

Request body

Send JSON with the shape CreateVehicleCommand.

FieldTypeRequiredDescription
licensePlatestringYesLimits: maximum 50 characters.
dateOfLicenseExpirystring (date-time)Yes
licenseDiscstringNo
vehicleIdentificationNumberstringNo
modelstringYesLimits: maximum 50 characters.
makestringYesLimits: maximum 50 characters.
acquisitionDatestring (date-time)No
vehicleTypeenum VehicleTypeYesOne of: Motorcycle, LightMotorVehicle, HeavyMotorVehicleSub16, HeaveMotorVehicleOver16.

Response

200. Returns a SingleResult envelope. The data field is VehicleResponse.

Request
curl -X POST "https://api.miridia.io/api/vehicle" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "licensePlate": "string",
  "dateOfLicenseExpiry": "2026-09-29T08:00:00Z",
  "licenseDisc": "string",
  "vehicleIdentificationNumber": "string",
  "model": "string",
  "make": "string",
  "acquisitionDate": "2026-09-29T08:00:00Z",
  "vehicleType": "Motorcycle"
}'
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "licensePlate": "string",
    "dateOfLicenseExpiry": "2026-09-29T08:00:00Z",
    "licenseDisc": "string",
    "vehicleIdentificationNumber": "string",
    "model": "string",
    "make": "string",
    "acquisitionDate": "2026-09-29T08:00:00Z",
    "vehicleType": "Motorcycle",
    "dateCreated": "2026-09-29T08:00:00Z",
    "dateModified": "2026-09-29T08:00:00Z"
  },
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Get vehicle

GET/api/vehicle/{vehicleId}

Access. Send a bearer token or an API key. The caller needs the Vehicles view permission.

Parameters

NameInTypeRequiredDescription
vehicleIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is VehicleResponse.

Request
curl -X GET "https://api.miridia.io/api/vehicle/{vehicleId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "licensePlate": "string",
    "dateOfLicenseExpiry": "2026-09-29T08:00:00Z",
    "licenseDisc": "string",
    "vehicleIdentificationNumber": "string",
    "model": "string",
    "make": "string",
    "acquisitionDate": "2026-09-29T08:00:00Z",
    "vehicleType": "Motorcycle",
    "dateCreated": "2026-09-29T08:00:00Z",
    "dateModified": "2026-09-29T08:00:00Z"
  },
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Update vehicle

PUT/api/vehicle/{vehicleId}

Access. Send a bearer token or an API key. The caller needs the Vehicles modify permission.

Parameters

NameInTypeRequiredDescription
vehicleIdpathstring (uuid)Yes

Request body

Send JSON with the shape UpdateVehicleCommand.

FieldTypeRequiredDescription
vehicleIdstring (uuid)No
licensePlatestringNoLimits: maximum 50 characters.
dateOfLicenseExpirystring (date-time)No
licenseDiscstringNo
vehicleIdentificationNumberstringNo
modelstringNoLimits: maximum 50 characters.
makestringNoLimits: maximum 50 characters.
acquisitionDatestring (date-time)No
vehicleTypeenum VehicleTypeNoOne of: Motorcycle, LightMotorVehicle, HeavyMotorVehicleSub16, HeaveMotorVehicleOver16.

Response

200. Returns a SingleResult envelope. The data field is VehicleResponse.

Request
curl -X PUT "https://api.miridia.io/api/vehicle/{vehicleId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "licensePlate": "string",
  "dateOfLicenseExpiry": "2026-09-29T08:00:00Z",
  "licenseDisc": "string",
  "vehicleIdentificationNumber": "string",
  "model": "string",
  "make": "string",
  "acquisitionDate": "2026-09-29T08:00:00Z",
  "vehicleType": "Motorcycle"
}'
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "licensePlate": "string",
    "dateOfLicenseExpiry": "2026-09-29T08:00:00Z",
    "licenseDisc": "string",
    "vehicleIdentificationNumber": "string",
    "model": "string",
    "make": "string",
    "acquisitionDate": "2026-09-29T08:00:00Z",
    "vehicleType": "Motorcycle",
    "dateCreated": "2026-09-29T08:00:00Z",
    "dateModified": "2026-09-29T08:00:00Z"
  },
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Delete vehicle

DELETE/api/vehicle/{vehicleId}

Access. Send a bearer token or an API key. The caller needs the Vehicles delete permission.

Parameters

NameInTypeRequiredDescription
vehicleIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X DELETE "https://api.miridia.io/api/vehicle/{vehicleId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": true,
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Upload file

POST/api/vehicle/upload

Access. Send a bearer token or an API key. The caller needs the Vehicles modify permission.

Response

200. Returns a SingleResult envelope. The data field is string.

Request
curl -X POST "https://api.miridia.io/api/vehicle/upload" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": "string",
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Confirm upload

POST/api/vehicle/confirm-upload

Access. Send a bearer token or an API key. The caller needs the Vehicles modify permission.

Request body

Send JSON with the shape ConfirmVehicleUploadRequest. Payload confirming a previously uploaded vehicle CSV file, triggering the bulk import.

FieldTypeRequiredDescription
uploadIdstringYes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X POST "https://api.miridia.io/api/vehicle/confirm-upload" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "uploadId": "string"
}'
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": true,
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Get all vehicles for current business context

GET/api/vehicles

Access. Send a bearer token or an API key. The caller needs the Vehicles view permission.

Response

200. Returns a PagedResult envelope. Each item in data is VehicleResponse.

Request
curl -X GET "https://api.miridia.io/api/vehicles" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "count": 0,
  "totalCount": 0,
  "page": 0,
  "finalPage": 0,
  "pageSize": 0,
  "hasMore": true,
  "statusCode": "OK",
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "licensePlate": "string",
      "dateOfLicenseExpiry": "2026-09-29T08:00:00Z",
      "licenseDisc": "string",
      "vehicleIdentificationNumber": "string",
      "model": "string",
      "make": "string",
      "acquisitionDate": "2026-09-29T08:00:00Z",
      "vehicleType": "Motorcycle",
      "dateCreated": "2026-09-29T08:00:00Z",
      "dateModified": "2026-09-29T08:00:00Z"
    }
  ],
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ]
}

Get vehicle location

GET/api/vehicle/location/{vehicleId}

Access. Send a bearer token or an API key. The caller needs the Vehicles view permission.

Parameters

NameInTypeRequiredDescription
vehicleIdpathstring (uuid)Yes
fromquerystringNo
toquerystringNo

Response

200. Returns a SingleResult envelope. The data field is VehicleLocationResponse.

Request
curl -X GET "https://api.miridia.io/api/vehicle/location/{vehicleId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": {
    "lastSeenTime": "2026-09-29T08:00:00Z",
    "deviceBattery": 0,
    "vehicleTracker": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "emei": "string",
      "deviceId": 0
    },
    "coordinateMetadata": [
      {}
    ],
    "coordinates": [
      {}
    ]
  },
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Get all devices

GET/api/tracking/devices

Access. Send a bearer token or an API key. The caller needs the Vehicles view permission.

Response

200. Returns a PagedResult envelope. Each item in data is TrackingDeviceResponse.

Request
curl -X GET "https://api.miridia.io/api/tracking/devices" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "count": 0,
  "totalCount": 0,
  "page": 0,
  "finalPage": 0,
  "pageSize": 0,
  "hasMore": true,
  "statusCode": "OK",
  "data": [
    {
      "deviceId": 0,
      "battery": 0,
      "recentHeartbeat": 0,
      "coordinate": {}
    }
  ],
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ]
}

POST/api/tracking/add-device

Access. Send a bearer token or an API key. The caller needs the Vehicles modify permission.

Request body

Send JSON with the shape CreateVehicleTrackerCommand.

FieldTypeRequiredDescription
vehicleIdstring (uuid)No
emeistringNo

Response

200. Returns a SingleResult envelope. The data field is VehicleTrackerResponse.

Request
curl -X POST "https://api.miridia.io/api/tracking/add-device" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "emei": "string"
}'
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "vehicleId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "emei": "string"
  },
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Get travel history

GET/api/vehicle/travel-history/{vehicleId}

Access. Send a bearer token or an API key. The caller needs the Vehicles view permission.

Parameters

NameInTypeRequiredDescription
vehicleIdpathstring (uuid)Yes

Response

200. Returns a PagedResult envelope. Each item in data is VehicleTravelHistory.

Request
curl -X GET "https://api.miridia.io/api/vehicle/travel-history/{vehicleId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "count": 0,
  "totalCount": 0,
  "page": 0,
  "finalPage": 0,
  "pageSize": 0,
  "hasMore": true,
  "statusCode": "OK",
  "data": [
    {
      "day": 0,
      "distance": 0
    }
  ],
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ]
}

Models

The operations on this page use these object types. Select a type to see its fields.

TrackingDeviceCoordinateResponse
FieldTypeDescription
latitudenumber (double)
longitudenumber (double)
TrackingDeviceResponse
FieldTypeDescription
deviceIdinteger (int32)
batteryinteger (int32)
recentHeartbeatinteger (int64)
coordinateTrackingDeviceCoordinateResponse
VehicleLocationCompoundCoordinateResponse
FieldTypeDescription
latitudenumber (double)
longitudenumber (double)
headinginteger (int32)
speedinteger (int32)
VehicleLocationCoordinateResponse
FieldTypeDescription
latitudenumber (double)
longitudenumber (double)
VehicleLocationPointOfInterestResponse
FieldTypeDescription
timeStampstring (date-time)
coordinateVehicleLocationCoordinateResponse
VehicleLocationResponse
FieldTypeDescription
lastSeenTimestring (date-time)
deviceBatteryinteger (int32)
vehicleTrackerVehicleTrackerInfoResponse
coordinateMetadataVehicleLocationPointOfInterestResponse[]
coordinatesVehicleLocationCompoundCoordinateResponse[]
VehicleResponse
FieldTypeDescription
idstring (uuid)
licensePlatestring
dateOfLicenseExpirystring (date-time)
licenseDiscstring
vehicleIdentificationNumberstring
modelstring
makestring
acquisitionDatestring (date-time)
vehicleTypeenum VehicleTypeOne of: Motorcycle, LightMotorVehicle, HeavyMotorVehicleSub16, HeaveMotorVehicleOver16.
dateCreatedstring (date-time)
dateModifiedstring (date-time)
VehicleTrackerInfoResponse
FieldTypeDescription
idstring (uuid)
emeistring
deviceIdinteger (int32)
VehicleTrackerResponse
FieldTypeDescription
idstring (uuid)
vehicleIdstring (uuid)
emeistring
VehicleTravelHistory
FieldTypeDescription
dayinteger (int32)
distancenumber (double)