E T X Registration

Register a device or a software service to the ETX system.

POST
/api/v2/clients/registration

With this API call the user (client) registers its device or software service to the ETX system. Therefore, when a connection is initiated from the device or software service to the ETX system along with the credential provided by this registration call, then the connection will be authorized.

  • The user can register multiple devices or software services, which can all be used at the same time.
  • There rules set in the system that limit the type and subtype of the clients that are allowed to be registered under the VendorID. The rules are created based ont he agreement between the Vendor and Verizon.
  • The user will only be able to register a limited number of devices or software services under the same VendorID. This registration limit is specified by the agreement between the Vendor and Verizon.

Note: The user needs to authenticate with their ThingSpace credentials using the Access/Bearer and Session/M2M tokens in order to call this API.

Authorization

thingspace_oauth sessionToken
AuthorizationBearer <token>

This is the ThingSpace token, from Credentials and Tokens is used

In: header

SessionToken<token>

This is the Session/M2M token needed to authenticate the user. It should be acquired by using the ThingSpace APIs. For detail on how to obtain a Session/M2M token please refer to the

In: header

Header Parameters

X-Transaction-Id?string

Optional transaction identifier for tracing requests. If not provided, the application will generate one.

Formatuuid

Request Body

application/json

Request for v2/clients/registration endpoint. It requires the Client Type, Subtype and Vendor to be defined.

ClientType*etx.ClientType

The type of the client that is to be registered. This is one of the major traffic participant groups considered in V2X communication. The system uses this value to define which topics the client will be able to publish and subscribe to.

Values:

  • Vehicle - Vehicle with an enclosure around the passengers. (Subtypes: Motorcycle, PassengerCar, Truck, Bus, EmergencyVehicle, SchoolBus, MaintenanceVehicle)
  • VulnerableRoadUser - Traffic participants without a protecting enclosure. (Subtypes: Bicycle, Pedestrian, Scooter)
  • TrafficLightController - A Traffic light controller system. (Subtypes: NA)
  • InfrastructureSensor - Sensors that are deployed in the infrastructure. (Subtypes: RoadSideUnit, Camera, Lidar, Radar, InductiveLoop, MagneticSensor)
  • OnboardSensor - Sensors that are onboard on a vehicle(Subtypes: Camera, Lidar, Radar)
  • Software - A software system or application. (Subtypes: Platform, Application, NA)

Value in

  • "Vehicle"
  • "VulnerableRoadUser"
  • "TrafficLightController"
  • "InfrastructureSensor"
  • "OnboardSensor"
  • "Software"
ClientSubtype*ClientSubtype

The subtype or subgroup of the client type. This further specifies the client type. For example it will specify if the client is a passenger car or a truck. See the ClientType description for the supported Subtypes for each client type.

Value in

  • "PassengerCar"
  • "Truck"
  • "Bus"
  • "EmergencyVehicle"
  • "SchoolBus"
  • "MaintenanceVehicle"
  • "Pedestrian"
  • "Bicycle"
  • "Scooter"
  • "Motorcycle"
  • "RoadSideUnit"
  • "Camera"
  • "Lidar"
  • "Radar"
  • "InductiveLoop"
  • "MagneticSensor"
  • "Platform"
  • "Application"
  • "NA"
VendorID*string

The ID the vendor wants its devices to be registered under. E.g. Verizon, GM, Ford, etc.

Match^[a-zA-Z0-9]+$
Lengthlength <= 64
DeviceID?string

The generated ID (UUID v4) for the device. It can be used as:

  • the MQTT Client ID when connecting to the Message Exchange system
  • a parameter when asking for the connection endpoint
  • a parameter when finishing the device registration
  • a parameter when unregistering the device
Formatuuid
IMEI?string

The IMEI number of the device.

Match^(\d{2}-\d{6}-\d{6}-\d{1,2})$|^(\d{15,16})$
Lengthlength <= 19
ICCID?string

The ICCID number of the device.

Match^(89\d{17,18})$
Length19 <= length <= 20
IMSI?string

The IMSI number of the device.

Match^\d{14,15}$
Length14 <= length <= 15

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v2/clients/registration" \  -H "Content-Type: application/json" \  -d '{    "ClientType": "Vehicle",    "ClientSubtype": "PassengerCar",    "VendorID": "VerizonETX"  }'
{  "DeviceID": "a4fcd16a-343d-4527-8203-2f46e3e4ff4b",  "Certificate": {    "cert.pem": "\"-----BEGIN CERTIFICATE-----\nMIIDrjCCApagAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwUjELMAkGA1UEBhMCQVUx\n...\nuuA1Zog3aBOeeEzp9SEJBMTJRYPXbK4e8Xer+7m98OL/3g==\n-----END CERTIFICATE-----\"\n",    "key.pem": "\"-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDa1lF7DWudshQ5\n...\nJbjD2hacWGzpKzTfn5Mt1frE\n-----END PRIVATE KEY-----\"\n",    "ca.pem": "\"-----BEGIN CERTIFICATE-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDa1lF7DWudshQ5\n...\nJbjD2hacWGzpKzTfn5Mt1frE\n-----END CERTIFICATE-----\"\n",    "ExpirationTime": "2017-07-21T17:32:28Z"  }}