Prerequisites
Before registering a vehicle, ensure you have:- Valid c.technology API credentials with appropriate permissions
- Vehicle identification information (VIN, registration, etc.)
- IoT device details if you are using an IoT device (IMEI, ICCID, etc.)
- Set up your organization’s vehicle taxonomy and parts, if applicable
Registration
Using the API, you can register vehicles programmatically.For single vehicle registrations, it may be more convenient to use the c.technology web application.
Required and optional fields
The only required field isname, which is the display name for the vehicle in the c.technology platform.
However, depending on your organization type, additional fields may be effectively required or behave differently:
OEM organizations
If your organization is an OEM (vehicle manufacturer), you must provideorganization_vehicle_type_id, which references a vehicle type defined in your organization’s taxonomy.
OEMs can also specify a custom organization_vehicle_id (your internal identifier for the vehicle), which will be uppercased and used as the vehicle’s unique identifier in the system.
If not provided or left empty, a random 8-character ID will be generated.
OEMs are automatically assigned the VEHICLE_MANUFACTURER role for vehicles they register, regardless of any role field provided.
Professional and other organizations
For professional organizations (dealers, service providers, fleet operators) and other organization types:organization_vehicle_idis optional and will be automatically generated as a random 8-character ID if not provided.organization_vehicle_type_idis optional (not required unlike for OEMs).- You can specify the organization’s relationship to the vehicle using the
rolefield with valuesVEHICLE_MAINTAINERorVEHICLE_OWNER.
Input methods
The API supports two methods for providing organization-specific vehicle data: Method 1: Direct properties (recommended for single organization scenarios)organization_vehicles array (useful for multi-organization scenarios)
When using the nested method, the
organization_id in the nested object must match the one in the URL path. Values in the nested object will override any direct properties.Additional parameters
Beyond the core identification fields, you can provide:vehicle_identification_number: The vehicle’s VIN (Vehicle Identification Number)vehicle_registration_id: The vehicle’s license plate or registration numberdrivetrain_type: The vehicle’s drivetrain type (e.g.,GASOLINE,ELECTRIC,DIESEL,HYBRID)hardware_type: The IoT hardware type installed (e.g.,BLUETOOTH,NONE)vehicle_type: The general vehicle classification (defaults to your organization’s primary vehicle type if not specified)iot_name: The IoT device identifiervehicle_parts: An array of vehicle parts to associate with the vehicle
Vehicle parts
If your organization has defined a parts taxonomy, you can assign parts to vehicles during registration:The field
organization_vehicle_part_id is also supported for backwards compatibility, but organization_part_id is the recommended field name.organization_part_id: The ID of the part type as defined in your organization’s parts taxonomyinstance_id(optional): A unique identifier for this specific instance of the part
Response
Upon successful registration, you will receive a HTTP 200 response with the complete vehicle profile:id), the internal identifier (seaborne_id), and all other vehicle properties.
After successful registration, permission caches are automatically refreshed to ensure the vehicle appears immediately in your queries.
Updating vehicles
If you need to change the vehicle type or other details later, you can use thePUT /organization/{organization_id}/vehicle/{vehicle_id} endpoint.
Similarly, you can manage vehicle part assignments using the /vehicle/{vehicle_id}/vehicle-part/ endpoints after registration.

