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.
Bulk registration
For bulk registrations, you may upload CSV files via the c.technology web app or use the API to register multiple vehicles in a loop.Troubleshooting
This section may help you resolve common issues during vehicle registration.SIM card configuration errors
If you encounter SIM card configuration issues, log into your carrier’s portal (e.g., 1nce, 1ot, emnify, etc.) and verify the SIM card ICCID is correct and the SIM is active.
Device communication issues
If you experience problems with device connectivity, ensure the device is powered on and has a stable cellular connection.
Often, devices may take several minutes to register on the network after initial power-up.
Similarly, GPS modules may take time to acquire a satellite fix, and upon initial startup may not send data before a fix is acquired (due to aquiring a correct timestamp via GPS).
API validation failures
Common validation errors and their solutions:Organization-related errors:
- Organization does not exist: Verify the
organization_idin the URL is correct and the organization exists. - Missing
organization_vehicle_type_idfor OEMs: OEM organizations must provide a valid vehicle type ID. Verify the vehicle type exists in your organization’s taxonomy. - Vehicle type does not exist: The provided
organization_vehicle_type_iddoesn’t match any vehicle type in your organization. Check your organization’s vehicle type definitions.
- Invalid drivetrain type: Ensure the
drivetrain_typeis one of the supported values (e.g.,GASOLINE,ELECTRIC,DIESEL,HYBRID). - Invalid hardware type: Verify the
hardware_typeis a valid option (e.g.,BLUETOOTH,NONE). - organization_vehicle_id too long: For OEMs, custom vehicle IDs have a maximum length. Use shorter identifiers or let the system generate one.
- Vehicle part does not exist: The specified
organization_part_iddoesn’t exist in your organization’s parts taxonomy. Verify the part ID is correct.
- If vehicle creation fails mid-process, all changes are automatically rolled back to maintain data consistency. Check the error message for specific details about what failed.
- Missing permissions: Your API key or user token lacks vehicle creation permissions for the specified organization.

