Vehicles
Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.
| Method | Path | Operation |
|---|---|---|
| POST | /api/vehicle | Create vehicle |
| GET | /api/vehicle/{vehicleId} | Get vehicle |
| PUT | /api/vehicle/{vehicleId} | Update vehicle |
| DELETE | /api/vehicle/{vehicleId} | Delete vehicle |
| POST | /api/vehicle/upload | Upload file |
| POST | /api/vehicle/confirm-upload | Confirm upload |
| GET | /api/vehicles | Get all vehicles for current business context |
| GET | /api/vehicle/location/{vehicleId} | Get vehicle location |
| GET | /api/tracking/devices | Get all devices |
| POST | /api/tracking/add-device | Create 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.
| Field | Type | Required | Description |
|---|---|---|---|
licensePlate | string | Yes | Limits: maximum 50 characters. |
dateOfLicenseExpiry | string (date-time) | Yes | |
licenseDisc | string | No | |
vehicleIdentificationNumber | string | No | |
model | string | Yes | Limits: maximum 50 characters. |
make | string | Yes | Limits: maximum 50 characters. |
acquisitionDate | string (date-time) | No | |
vehicleType | enum VehicleType | Yes | One of: Motorcycle, LightMotorVehicle, HeavyMotorVehicleSub16, HeaveMotorVehicleOver16. |
Response
200. Returns a SingleResult envelope. The data field is VehicleResponse.
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"
}'{
"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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
vehicleId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is VehicleResponse.
curl -X GET "https://api.miridia.io/api/vehicle/{vehicleId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
vehicleId | path | string (uuid) | Yes |
Request body
Send JSON with the shape UpdateVehicleCommand.
| Field | Type | Required | Description |
|---|---|---|---|
vehicleId | string (uuid) | No | |
licensePlate | string | No | Limits: maximum 50 characters. |
dateOfLicenseExpiry | string (date-time) | No | |
licenseDisc | string | No | |
vehicleIdentificationNumber | string | No | |
model | string | No | Limits: maximum 50 characters. |
make | string | No | Limits: maximum 50 characters. |
acquisitionDate | string (date-time) | No | |
vehicleType | enum VehicleType | No | One of: Motorcycle, LightMotorVehicle, HeavyMotorVehicleSub16, HeaveMotorVehicleOver16. |
Response
200. Returns a SingleResult envelope. The data field is VehicleResponse.
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"
}'{
"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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
vehicleId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X DELETE "https://api.miridia.io/api/vehicle/{vehicleId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"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.
curl -X POST "https://api.miridia.io/api/vehicle/upload" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"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.
| Field | Type | Required | Description |
|---|---|---|---|
uploadId | string | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
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"
}'{
"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.
curl -X GET "https://api.miridia.io/api/vehicles" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
vehicleId | path | string (uuid) | Yes | |
from | query | string | No | |
to | query | string | No |
Response
200. Returns a SingleResult envelope. The data field is VehicleLocationResponse.
curl -X GET "https://api.miridia.io/api/vehicle/location/{vehicleId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"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.
curl -X GET "https://api.miridia.io/api/tracking/devices" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"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"
}
]
}Create and link vehicle tracker
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.
| Field | Type | Required | Description |
|---|---|---|---|
vehicleId | string (uuid) | No | |
emei | string | No |
Response
200. Returns a SingleResult envelope. The data field is VehicleTrackerResponse.
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"
}'{
"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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
vehicleId | path | string (uuid) | Yes |
Response
200. Returns a PagedResult envelope. Each item in data is VehicleTravelHistory.
curl -X GET "https://api.miridia.io/api/vehicle/travel-history/{vehicleId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"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
| Field | Type | Description |
|---|---|---|
latitude | number (double) | |
longitude | number (double) |
TrackingDeviceResponse
| Field | Type | Description |
|---|---|---|
deviceId | integer (int32) | |
battery | integer (int32) | |
recentHeartbeat | integer (int64) | |
coordinate | TrackingDeviceCoordinateResponse |
VehicleLocationCompoundCoordinateResponse
| Field | Type | Description |
|---|---|---|
latitude | number (double) | |
longitude | number (double) | |
heading | integer (int32) | |
speed | integer (int32) |
VehicleLocationCoordinateResponse
| Field | Type | Description |
|---|---|---|
latitude | number (double) | |
longitude | number (double) |
VehicleLocationPointOfInterestResponse
| Field | Type | Description |
|---|---|---|
timeStamp | string (date-time) | |
coordinate | VehicleLocationCoordinateResponse |
VehicleLocationResponse
| Field | Type | Description |
|---|---|---|
lastSeenTime | string (date-time) | |
deviceBattery | integer (int32) | |
vehicleTracker | VehicleTrackerInfoResponse | |
coordinateMetadata | VehicleLocationPointOfInterestResponse[] | |
coordinates | VehicleLocationCompoundCoordinateResponse[] |
VehicleResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
licensePlate | string | |
dateOfLicenseExpiry | string (date-time) | |
licenseDisc | string | |
vehicleIdentificationNumber | string | |
model | string | |
make | string | |
acquisitionDate | string (date-time) | |
vehicleType | enum VehicleType | One of: Motorcycle, LightMotorVehicle, HeavyMotorVehicleSub16, HeaveMotorVehicleOver16. |
dateCreated | string (date-time) | |
dateModified | string (date-time) |
VehicleTrackerInfoResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
emei | string | |
deviceId | integer (int32) |
VehicleTrackerResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
vehicleId | string (uuid) | |
emei | string |
VehicleTravelHistory
| Field | Type | Description |
|---|---|---|
day | integer (int32) | |
distance | number (double) |