{"servers":[{"url":"https://api.astaraconnect.com","description":"Production API server"},{"url":"https://api-staging.astaraconnect.com","description":"Staging API server"}],"paths":{"/v1/importers/bmw/v1/status/ping":{},"/v1/companies/company-address/create":{},"/v1/reports/tracker_properties/odometer":{},"/v1/vehicle/versions/motorizations":{"get":{"summary":"Retrieves motorization types available.","description":"This endpoint allows you to retrieve details of the motorization types available.\n","tags":["Vehicle Versions"],"responses":{"200":{"description":"OK - The requested information has been retrieved successfully.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/MotorizationSchema"}}]}}}}}}},"/v1/vehicle/versions/fuel-types":{"get":{"summary":"Retrieves fuel types available.","description":"This endpoint allows you to retrieve details of the fuel types available.\n","tags":["Vehicle Versions"],"responses":{"200":{"description":"OK - The requested information has been retrieved successfully.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/FuelTypesSchema"}}]}}}}}}},"/v1/vehicle/versions/create":{"post":{"summary":"Creates a new vehicle version.","description":"This endpoint allows you to register a new vehicle version with the specified details.\nThe following information is required:\n\n  * name: The name of the vehicle version.\n  * doors: Number of doors in the vehicle.\n  * transmission: Type of transmission (e.g., manual, automatic).\n  * engine_displacement: Engine displacement of the vehicle in cm3.\n  * engine_power: Power output of the vehicle's engine in cv.\n  * motorization: The motorization type name (e.g., ICE, MHEV, ePower, BEV, PHEV, FCEV, HEV).\n  * fuel_types: A list of fuel type names associated with this vehicle version.\n  * vehicle_models_makes_id: The ID of the associated vehicle model.\n\nEnsure that all required attributes are provided to avoid validation errors.\n","tags":["Vehicle Versions"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VehicleVersionSchema"},"examples":{"default":{"summary":"Basic vehicle version creation.","value":{"name":"Model X","doors":4,"transmission":"automatic","engine_displacement":2000,"engine_power":150,"motorization":"ICE","fuel_types":["gasoline"],"vehicle_models_makes_id":1234}}}}}},"responses":{"201":{"description":"OK - The vehicle version has been created successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VehicleVersionSchema"}}}},"400":{"description":"Missing or invalid required parameters.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"missing_engine_displacement":{"value":{"msg":"engine_displacement: is missing","err_code":9901,"error":400,"status":"error"}}}}}},"415":{"description":"Incorrect data format in the request body.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"incorrect_format":{"value":{"msg":"attribute is incorrect","err_code":9900,"error":415,"status":"error"}}}}}},"500":{"description":"Internal server error during creation.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"creation_failed":{"value":{"msg":"Vehicle version could not be created","err_code":500,"error":500,"status":"error"}}}}}}}}},"/v1/reports/fines/license-plates":{},"/v1/tracking-schedules/timezones":{"get":{"summary":"Retrieve a list of timezones","description":"Return a JSON array of timezones.","responses":{"200":{"description":"A list of timezone strings","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"example":["UTC","Europe/Madrid","America/New_York"]}}}}}}},"/v1/tracking-schedules/create":{"post":{"summary":"Registers new schedule for a company.","description":"A company can have got none, one or multiple schedules and this endpoint register new schedule for a company.\nThis schedules set in which timetable the tracker information is stored.\nRegister schedule with:\n  * name\n  * description\n  * schedule\n  * timezone\n  * company_oid\n","tags":["Schedules"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schedule":{"type":"object","properties":{"timetable":{"type":"object","properties":{"Mon":{"type":"array"},"Tue":{"type":"array"},"Wed":{"type":"array"},"Thu":{"type":"array"},"Fri":{"type":"array"},"Sat":{"type":"array"},"Sun":{"type":"array"}}},"exceptions":{"type":"array"}}},"timezone":{"type":"string"},"company_oid":{"type":"string"}},"required":["schedule","timezone","name"]},"examples":{"Schedule with exceptions":{"description":"Create the schedule with one exception","value":{"timezone":"Pacific/Niue","schedule":{"timetable":{"Mon":[["8:00","10:00"]],"Tue":[["8:00","10:00"],["14:00","17:00"]]},"exceptions":[{"day":1,"month":1,"year":2024,"on_repeat":true}]},"company_oid":"71ecd9a1-51f0-4bb7-974b-f93feb300a49","name":"Working hours","description":"Working hours"}}}}}},"responses":{"200":{"description":"The endpoint returns an object with the created schedule.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackingSchedule"},"examples":{"Correct process":{"value":{"company_oid":"7ddcc805-4e22-4a6e-bb4c-c67170c5b085","description":"Working hours","name":"Working hours","oid":"cd5d1cca-ef21-45d0-9fc8-25382683c60d","schedule":{"exceptions":[{"day":1,"month":1,"on_repeat":true,"year":2024}],"timetable":{"Mon":[["8:00","10:00"]],"Tue":[["8:00","10:00"],["14:00","17:00"]]}},"timezone":"Pacific/Niue"}}}}}},"400":{"description":"Required entity not specified. A required parameter is missed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Name parameter empty":{"value":{"err_code":9901,"error":400,"msg":"name: is missing","status":"error"}},"Schedule parameter empty":{"value":{"err_code":9901,"error":400,"msg":"schedule: is missing","status":"error"}},"Timezone parameter empty":{"value":{"err_code":9901,"error":400,"msg":"timezone: is missing","status":"error"}},"Timetable parameter empty":{"value":{"err_code":9901,"error":400,"msg":"timezone: is missing","status":"error"}},"Company_oid parameter empty":{"value":{"err_code":9901,"error":400,"msg":"company_oid: is missing","status":"error"}}}}}},"403":{"description":"You cannot create the schedule. This error is thrown when you don't have the necessary permissions assigned to create an schedule.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to register the schedule":{"value":{"error":403,"msg":"You cannot create the schedule.","err_code":9902}}}}}}}}},"/v1/telemetrics/trips":{"get":{"summary":"Returns a list of trips for a given company or group.","description":"This endpoint returns a list of all the trips which belong to the given company or group.\nThe call must include either the _company_oid_ or the _group_oid_ as your identifier.\nOptionally, a call can include the following parameters:\n  * _start_date_ and _end_date_. These parameters specify the time period of interest, i.e. only trips that fall in between these dates will be listed. If the _end_date_ is omitted, the list will include all the trips from the _start_date_ until now.\n  If both dates are omitted, the list will include only today's trips.\n  * _next_ and _previous_. These parameters provide the pagination functionality for browsing the returned list.\n  Upon calling this endpoint for the first time without these parameters, it returns the first 10 elements of the list (ordered by date).\n  If there are more than 10 elements, the returned file will include the parameter _next_ and/or _previous_.\n  By passing this _next_ parameter into a second call of the same endpoint, the next 10 elements will be returned, together with a new _next_ (in case there are remaining elements).\n  In the same way, by passing the _previous_ parameter, the previous 10 elements will be returned.\n  * _tracker_id_. Adding this parameter to the call will restrict the response to the trips of this particular tracker.\n  If omitted, the response will contain the trips of all trackers.\n","tags":["Telemetrics"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"group_oid","required":false,"schema":{"type":"string"}},{"in":"query","name":"company_oid","required":false,"schema":{"type":"string"}},{"in":"query","name":"start_date","required":false,"schema":{"type":"string","format":"date"}},{"in":"query","name":"end_date","required":false,"schema":{"type":"string","format":"date"}},{"in":"query","name":"next","required":false,"schema":{"type":"string"}},{"in":"query","name":"previous","required":false,"schema":{"type":"string"}},{"in":"query","name":"tracker_id","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK - The response includes a JSON file that contains a maximum of 10 list entries, plus the _next_ and _previous_ string for browsing the remaining entries.\n","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Trips"}}}}},"400":{"description":"Either both _company_oid_ and _group_oid_ are missing, or the date format is wrong.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID or group OID is missing":{"value":{"msg":"company_oid or group_oid is missing.","error":400,"err_code":9901}},"The date format is wrong":{"value":{"msg":"Invalid date format","error":400,"err_code":9904}}}}}},"403":{"description":"The user does not have permission to see trips for this company or group.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No permission for this company":{"value":{"msg":"You cannot read_trips this company.","error":403,"err_code":9902}},"No permission for this group":{"value":{"msg":"You cannot read_trips this group.","error":403,"err_code":9902}}}}}}}}},"/v1/companies/create-api-key":{},"/v1/importers/html5":{"get":{"summary":"Check if the server is up and running.","description":"This HTML5 endpoint checks if the server is up and running.\n","tags":["Data importers"],"security":[{"ApiKeyAuth":["read"]}],"responses":{"200":{"description":"The server is up and running.","content":{"application/json":{"examples":{"The server is up and running":{"value":{"status":"ok"}}}}}}}},"post":{"summary":"Insert telemetry data from any provider.","description":"Insert telemetry data, one at a time, from any provider. It can be used, for example, to inject a data point from a mobile through a web app, in which case the tracker would be the mobile itself. The data should contain the following parameters:\n\n  * timestamp. It should be in milliseconds, otherwise the telemetry will not be added or can be added with a wrong datetime.\n  * tracker_id\n  * coords:\n    - latitude\n    - longitude\n","tags":["Data importers"],"security":[{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"coords":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}}},"timestamp":{"type":"integer"},"tracker_id":{"type":"string"}},"required":["coords","timestamp","tracker_id"]},"examples":{"Valid format":{"value":{"coords":{"latitude":40,"longitude":-3.7},"timestamp":1681209983000,"tracker_id":"529305476545970"}}}}}},"responses":{"200":{"description":"Data successfully inserted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Html5Schema"},"examples":{"Correct process":{"value":{"data":[{"latitude":40,"longitude":-3.7,"ts":"2023-04-11T10:46:23.000000+00:00"}],"status":"ok"}}}}}},"403":{"description":"Not allowed to use the tracker.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to use this tracker":{"value":{"err_code":9902,"error":403,"msg":"You cannot use this tracker.","status":"error"}}}}}},"415":{"description":"Required entity not specified. A required parameter is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"JSON data parameter empty":{"value":{"err_code":202,"error":415,"msg":"JSON data is missing.","status":"error"}}}}}}}}},"/v2/trackers/vehicles-guide":{"get":{"summary":"List available vehicle makes and models.","description":"This endpoint lists vehicle makes and models available in our database.\nBy default, it returns a list of all makes registered within our database. In order to display the models of a specific make, the make name has to be included as a query parameter.\nFor display all manufacturers and models, the parameter 'all' has to be included as a query parameter.\n","tags":["Trackers"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"make","required":false,"schema":{"type":"string"}},{"in":"query","name":"all","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"By default, this answer provides you a list of all registered makes within our database. Instead, if you have specified a make as an argument in the parameters, you will obtain all the models that belong to this make.\n","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/VehicleModelMakeSchema"},{"$ref":"#/components/schemas/VehicleMakeSchema"}],"discriminator":{"propertyName":"make"}},"examples":{"Correct request":{"summary":"Default request, get all makes.","value":{"data":[{"name":"Hyundai"},{"name":"Subaru"},{"name":"Mazda"},{"name":"BMW"},{"name":"Volkswagen"},{"name":"SsangYong"},{"name":"Toyota"}]}},"Get all models of one make":{"summary":"Get all models of one make.","value":{"data":[{"id":1,"name":"Sprinter","vehicle_type":"van"},{"id":2,"name":"Vito","vehicle_type":"van"}]}},"Get all makes and models":{"summary":"Get all makes and models.","value":{"data":{"Mercedes-Benz":["Sprinter","Vito"],"Volkswagen":["Tiguan"]}}}}}}},"404":{"description":"Make not found. All available makes can be listed by calling this endpoint without query parameter.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Make not found":{"value":{"msg":"Make not found.","error":404,"err_code":105}}}}}}}}},"/v2/trackers/vehicles-types":{"get":{"summary":"List available vehicle types","description":"This endpoint retrieves a list of vehicle types available in the database.\nVehicle types represent categories of vehicles, such as cars, bikes, trucks, etc.\n","tags":["Vehicles"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"responses":{"200":{"description":"Returns a list of vehicle types in the database.\n","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/VehicleTypeSchema"}}}},"examples":{"Default response":{"summary":"Default response, get all vehicle types.","value":{"data":[{"name":"car"},{"name":"van"},{"name":"other"}]}}}}}},"404":{"description":"The requested resource could not be found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Resource not found":{"value":{"msg":"The requested resource could not be found.","error":404,"err_code":40401}}}}}}}}},"/v1/trackers/register":{"post":{"summary":"Registers a tracker.","description":"This endpoint allows you to register a tracker in a given company. The following information is required for the procedure:\n  * company_oid: The universally unique identifier associated with your company. This company will hold the tracker and will pay the cost of maintaining the connection.\n  * tracker_id: A unique identifier of the tracker. It can be a VIN, an IMEI, a license plate or the unique identifier that the data provider will use.\n  * provider: The name of the data provider of your tracker.\n              Current options are: Mercedes-Benz, BMW, Cartrack, HTML5, Targa, Stellantis.\n  * type: The tracker's connection type.\n          Current options are: oem, obd, CANbus.\n\nOptionally, the following information can be included:\n  * group_oid: This parameter associates the newly registered tracker to a group.\n    Trackers can be allocated to groups in order to organize them in a custom way.\n  * vehicle_type: The type of vehicle to which the tracker is assigned.\n    This allows filtering by vehicle type within our API. Examples: car, van, truck, motorcycle.\n  * packages: This parameter specifies the data packages that you want to be operating on your tracker.\n    Currently, it only works for the data provider *Mercedes-Benz* and necessitates the specification of an object_id when applying packages. There are two possible values for this parameter:\n\n      * packages=['mercedesbenzmileage']: position and odometer data.\n      * packages=['mercedesbenzelectrotest']: position, odometer, consumption, battery and velocity.\n      * packages=['mercedesbenzextended']: position, odometer, ignition, consumption, battery, tires, velocity and binaries (windows, lights, doors).\n\n  * object_id: This parameter details supplementary information about the vehicle to which the tracker is assigned, encompassing the Make, Model, VIN, and License plate of the vehicle.\n\nRegistering a tracker within the provider's system may require that the corresponding provider credentials are linked to your company's account. Please refer to our [Docs](https://docs.astaraconnect.com/reference/post_v1-credentials-register).\n","tags":["Trackers"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterTracker"},"examples":{"default":{"summary":"A basic tracker registration.","value":{"tracker_id":"0000ABC","provider":"HTML5","type":"canbus","company_oid":"6f6fc660-1ab4-4312-bcf3-1c7a4ac97cb3"}},"tracker with packages":{"summary":"A Mercedes-Benz tracker with a list of packages.","value":{"tracker_id":"JH4NA1150MT000683","provider":"Mercedes-Benz","type":"oem","company_oid":"6f6fc660-1ab4-4312-bcf3-1c7a4ac97cb3","packages":["mercedesbenzmileage"],"object_id":{"make":"mercedes-benz","model":"clase A"}}},"tracker with group OID and tracker type":{"summary":"A tracker with the required parameters plus group OID and tracker type.","value":{"tracker_id":505613925054389,"provider":"cartrack","type":"obd","company_oid":"6f6fc660-1ab4-4312-bcf3-1c7a4ac97cb3","group_oid":"c4d11ee3-6591-44e9-9e23-f617c82af739","vehicle_type":"car"}}}}}},"responses":{"200":{"description":"OK - The tracker has been registered, resulting in one of the following validation status:\n  * **pending**: The tracker_id is correct and the tracker is ready for validation.\n  * **wrong_tracker_id**: The tracker_id has been rejected by the provider. Use the _update_ endpoint to correct the ID and restart the verification procedure.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerSchema"}}}},"400":{"description":"This error is shown when one of the required arguments is missing or has a wrong value.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"company_oid is missing":{"value":{"msg":"company_oid: is missing","err_code":9901,"error":400,"status":"error"}},"tracker_id is missing":{"value":{"msg":"tracker_id: is missing","err_code":9901,"error":400,"status":"error"}},"provider is missing":{"value":{"msg":"provider: is missing","err_code":9901,"error":400,"status":"error"}},"vehicle_type is missing":{"value":{"msg":"vehicle_type: is missing","err_code":9901,"error":400,"status":"error"}}}}}},"403":{"description":"This error is shown when the tracker already exists in our database.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"Tracker already registered":{"value":{"msg":"Tracker tracker_id already registered","error":403}}}}}},"415":{"description":"This is shown when one of the parameters passed in the body is not in the proper data format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"Data format incorrect in the request body":{"value":{"msg":"attribute is incorrect","err_code":9900,"error":415,"status":"error"}}}}}},"500":{"description":"This error is shown when the tracker could not be created.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"Tracker could not be created":{"value":{"msg":"The tracker could not be created","err_code":500,"error":500,"status":"error"}}}}}}}}},"/v1/trackers/validate":{"post":{"summary":"Validates a previously registered tracker.","description":"This endpoint validates a previously registered tracker within the data provider's system.\nIt will trigger an ownership verification which is necessary to retrieve data from the tracker.\nThe system won't import any data if the tracker is not successfully validated.\n\nIn the moment a new tracker is successfully registered in our system, its validation status is **pending**.\n\nNote: If the validation status is **wrong_tracker_id**, the tracker_id was rejected by the provider during the registration procedure.\nIn this case, first use the v1/trackers/{oid}/update endpoint to correct the ID and then proceed with the validation.\n\nOnce it is **pending**, this endpoint will launch the tracker validation. The following information is required in the request body:\n\n  * tracker_id\n  * provider\n\nFor trackers using direct OEM connection with Mercedes-Benz, the request body must additionally contain the current odometer read-out from the vehicle:\n\n  * odo_value\n\nA successful call will change the validation status from **pending** to **pending_validation**, and trigger the external validation procedure.\nThis is an asynchronous process and its duration will vary depending on the specific case. We will update this documentation in the future and include provider-specific instructions.\n\nIf the external validation was successful, the validation status will switch to **pending_for_data**. Then, upon receiving the first location data from the tracker, the validation status will\nbe updated to **connected**. This last step is automatically done as soon as the vehicle is driven in an area with GPS signal.\n\nIn case that the validation procedure fails and results in an validation state which indicates an error, it can be executed again in order to restart the procedure.\nThe validation status can be checked via v1/trackers/{oid}/.\n","tags":["Trackers"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateTracker"},"examples":{"default":{"summary":"Standard tracker.\n","value":{"tracker_id":"0000LLL","provider":"cartrack"}},"Mercedes-Benz tracker with odometer read-out validation":{"summary":"Mercedes-Benz tracker.\n","value":{"tracker_id":"JH4NA1150MT000683","provider":"mercedes-benz","odo_value":1000}}}}}},"responses":{"200":{"description":"OK - The tracker is passed to **pending_validation** status and the clearance procedure is triggered.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerSchema"}}}},"400":{"description":"This error is returned when one of the required arguments is missing.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"tracker_id is missing":{"value":{"msg":"tracker_id: is missing","err_code":9901,"error":400,"status":"error"}},"provider is missing":{"value":{"msg":"provider: is missing","err_code":9901,"error":400,"status":"error"}},"extra argument is missing":{"value":{"msg":"tracker_id cannot be validated (missing arguments or provider service is unavailable)","err_code":102,"error":400,"status":"error"}}}}}},"403":{"description":"This error is returned when data provider credentials are needed but are incomplete or missing.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"Data provider credentials are incorrect":{"value":{"msg":"provider credentials are required for registering the tracker","error":403}}}}}}}}},"/v2/trackers/activity":{"get":{"summary":"Retrieves trackers information with properties based on specified parameters.","description":"This endpoint returns a number of parameters associated with a given tracker identifier tracker_oid or tracker_id,\na list of trackers for a given company identifier company_oid,\na list of trackers for a given company identifier and group identifier company_oid and group_oid,\na list of trackers for a given company identifier and group name company_oid and group_name,\na list of trackers for a given group identifier group_oid or a list of trackers for a given group name group_name.\nIf group_name = all, then returns a list of trackers grouped by company and groups.\nThe company_oid must be specified when group_name parameter is used.\n\nThe following parameters will be returned:\n\n * oid - The tracker's unique internal identifier.\n * tracker_id - The tracker_id is the tracker's unique identifier e.g. VIN, IMEI, license plate number...\n   The format of this value depends of the provider of your tracker:\n     * Option 1: for the HTML5 importer the tracker IDs can be customized. It is up to the owner to specify an identifier.\n     * Option 2: for the regular data providers this is defined by each provider, as specified in the following list:\n       * Mercedes-Benz: VIN\n       * Cartrack: VIN\n       * BMW: VIN\n       * Targa: VIN\n * object_id - The object_id is a dictionary that contains information about the identity of the tracked object, such as the VIN, make, model, license plate number.\n * provider - The provider of the tracker, e.g. Mercedes-Benz, BMW...\n * type - The tracker type, e.g. OEM, OBD, ...\n * vehicle_type - The vehicle type, e.g. car, van, motorcycle...\n * start_date - The date when the tracker was registered on the platform.\n * end_date - The date when the tracker was deregistered on the platform.\n * moving - Boolean parameter that specifies if the tracker is currently in movement.\n * heartbeat - Timestamp of the trackers' latest data.\n * validation_status - Tracker's current status within the validation chain. For example: pending, pending validation, error_access, connected.\n * external_validation_data - An optional parameter which contains validation information from third-party data providers.\n * foreign_tracker_id - The identity of the tracker on a third-party data provider platform.\n * company_oid - The unique identifier of the company to which the tracker belongs.\n * motorization - An optional parameter which specifies the motorization of the vehicle in which the tracker is installed. Options include gasoline, diesel, electric, hydrogen, PHEV and others.\n * position - The coordinates in WGS84-format of the last position received from the tracker.\n * properties - The tracker properties with their value and value information (unit, values, description).\n * gps_status - Indicates the GPS accuracy. Possible values: \"excellent\", \"good\", or \"bad\".\n * gsm_on - Indicates whether the tracker is properly reporting data (true) or not (false).\n","tags":["Trackers activity"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"oid","description":"The OID of the tracker.","schema":{"type":"string"},"example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","required":true},{"in":"query","name":"tracker_id","description":"The vehicle VIN.","schema":{"type":"string"},"example":"VNAB8888GRT888888","required":true},{"in":"query","name":"company_oid","description":"Company OID.","schema":{"type":"string"},"example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","required":true},{"in":"query","name":"group_oid","description":"Group OID.","schema":{"type":"string"},"example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","required":true},{"in":"query","name":"group_name","description":"Group name. Use \"all\" to retrieve all groups.","schema":{"oneOf":[{"type":"string"},{"type":"string","enum":["all"]}]},"examples":{"group_name":{"value":"some_group"},"all":{"value":"all"}},"required":true}],"responses":{"200":{"description":"List of trackers or tracker information based on specified parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerSchema"},"examples":{"Tracker":{"value":{"end_date":null,"external_validation_data":null,"heartbeat":"2024-05-08T21:12:54.000000+00","motorization":null,"moving":false,"object_id":{"license_plate":"2859MKL","make":"Mitsubishi","model":"ASX","vin":"VF1RJB00971373525"},"oid":"e8de8bac-8115-4d51-8956-7886310f9e7e","properties":{"device.gps.odometer":{"info":{"category":["main","device"],"code":"KTM","data_type":"float","description":"The value represents the calculated vehicle odometer based on GPS coordinates.","friendly_name":"Device GPS Odometer","group":["essentials"],"icon":"counter","range":{"max":1000000,"min":0},"unit":"km","values":[]},"ts":"2024-05-08T21:12:54.000000+00","value":34891},"device.gps.speed":{"info":{"category":["device"],"code":"KMH","data_type":"float","description":"The value represents the calculated vehicle speed based on GPS coordinates.","friendly_name":"Device GPS Speed","group":["essentials"],"icon":"speedometer","range":{"max":350,"min":0},"unit":"km/h","values":[]},"ts":"2024-05-08T21:12:54.000000+00","value":0},"ignition.status":{"info":{"category":["main","status"],"code":"","data_type":"enum","description":"The value indicates the status of the ignition of the vehicle at the time of the data collection.","friendly_name":"Ignition Status","group":["essentials"],"icon":"power-standby","range":{},"unit":"","values":["Off","On","Stand By"]},"ts":"2024-05-08T21:12:54.000000+00","value":"On"},"position.latitude":{"info":{"category":["location"],"code":"DD","data_type":"float","description":"This value indicates the degree of latitude at which the vehicle was at the time of data collection. The degree of latitude could range from 0 (at the equator) to a maximum of +90 north or respectively -90 south of the equator. (WGS84 coordinates systems)","friendly_name":"Latitude","group":["essentials"],"icon":"place","range":{"max":90,"min":-90},"unit":"degrees","values":[]},"ts":"2024-05-08T21:12:54.000000+00","value":41.522444},"position.longitude":{"info":{"category":["location"],"code":"DD","data_type":"float","description":"This value indicates the degree of longitude at which the vehicle was at the time of data collection. The degree of longitude could range from 0 (at the Greenwich meridian / Great Britain) to a maximum of +180 east or respectively -180 west of the meridian.(WGS84 coordinates systems)","friendly_name":"Longitude","group":["essentials"],"icon":"place","range":{"max":180,"min":-180},"unit":"degrees","values":[]},"ts":"2024-05-08T21:12:54.000000+00","value":0.336404}},"provider":"cartrack","start_date":"2023-10-26T08:46:25.555839+00","tracker_id":"VF1RJB00971373525","type":"canbus","validation_status":"connected","vehicle_type":"car"}}}}}},"404":{"description":"The given OID was not found. (tracker, company, group), or the given group name not found\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker not found":{"value":{"msg":"<OID> not found","error":404,"err_code":101}},"Group not found":{"value":{"msg":"Group not found","error":404,"err_code":500}},"Company not found":{"value":{"msg":"<OID> not found","error":404,"err_code":10003}}}}}},"415":{"description":"This error is shown when the tracker OID has no valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"OID string has no valid UUID format":{"value":{"msg":"oid string has no valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v2/trackers/packages":{},"/v2/trackers/html5":{"post":{"summary":"Insert tracker properties data for storage.","description":"This endpoint allows you to store tracker properties by providing a JSON payload with the following fields:\n\n- **tracker_id** (string, required): A unique identifier for the tracker, also known as VIN.\n- **properties** (array, required): A list of key-value pairs representing the properties of the tracker. Each item in the list should be an object with:\n  - **key**: The name of the property (e.g., \"position.latitude\").\n  - **value** (string, required): The value of the property (e.g., a numerical value or a string).\n  - **ts** (string, required): A timestamp indicating when the property was recorded, in ISO 8601 format.\n\nExample properties might include latitude and longitude for location tracking.\n\nIf properties for 'position.latitude' and 'position.longitude' are included, they will also update the tracker's telemetry data, such as its geographic position and timestamp.\n\nProperties that do not match known database keys will be ignored, but will be included in the 'error_properties' field in the response.\n","tags":["Data importers"],"security":[{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tracker_id":{"type":"string","description":"A unique identifier for the tracker."},"properties":{"type":"array","description":"A list of tracker properties, where each property includes a key, a value, and a timestamp.","items":{"type":"object","additionalProperties":{"type":"object","properties":{"ts":{"type":"string","format":"date-time","description":"The timestamp when the property was recorded (ISO 8601)."},"value":{"type":"string","description":"The value of the property (e.g., a numeric or string value)."}},"required":["ts","value"]}}}},"required":["tracker_id","properties"]},"examples":{"Valid format":{"value":{"tracker_id":"12345678901011","properties":[{"position.latitude":{"ts":"2024-11-22T11:27:45Z","value":41.522444}},{"position.longitude":{"ts":"2024-11-22T11:27:45Z","value":0.336404}}]}}}}}},"responses":{"200":{"description":"Properties successfully processed and stored. If unknown properties were encountered, they are included in the 'error_properties' field.","content":{"application/json":{"schema":{"type":"object","properties":{"tracker_id":{"type":"string"},"properties":{"type":"array","items":{"type":"object","additionalProperties":{"type":"object","properties":{"ts":{"type":"string","format":"date-time"},"value":{"type":"string"}}}}},"error_properties":{"type":"array","description":"List of properties that were not found in the database.","items":{"type":"object","additionalProperties":{"type":"object","properties":{"ts":{"type":"string","format":"date-time"},"value":{"type":"string"}}}}}}},"examples":{"Successful processing with unknown properties":{"value":{"tracker_id":"12345678901011","properties":[{"position.latitude":{"ts":"2024-11-22T11:27:45Z","value":41.522444}}],"error_properties":[{"unknown.property":{"ts":"2024-11-22T11:27:45Z","value":"InvalidValue"}}]}}}}}},"400":{"description":"Validation error in input data.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"string"}}},"examples":{"Validation error":{"value":{"status":"error","error":"Invalid payload format."}}}}}},"404":{"description":"Tracker not found.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"error":{"type":"string"}}},"examples":{"Tracker not found":{"value":{"status":"error","error":"Tracker with tracker_id 12345678901011 not found."}}}}}}}}},"/v2/trackers/list":{"get":{"summary":"Retrieves basic trackers information based on specified parameters.","description":"a list of trackers for a given company identifier company_oid,\noptionally filtered by a given validation_status: disconnected, connected, pending, pending_for_data, pending_validation, error\n\nThe following parameters will be returned:\n\n * oid - The tracker's unique internal identifier.\n * tracker_id - The tracker_id is the tracker's unique identifier e.g. VIN, IMEI, license plate number...\n   The format of this value depends of the provider of your tracker:\n     * Option 1: for the HTML5 importer the tracker IDs can be customized. It is up to the owner to specify an identifier.\n     * Option 2: for the regular data providers this is defined by each provider, as specified in the following list:\n       * Mercedes-Benz: VIN\n       * Cartrack: VIN\n       * BMW: VIN\n       * Targa: VIN\n * provider - The provider of the tracker, e.g. Mercedes-Benz, BMW...\n * type - The tracker type, e.g. OEM, OBD, ...\n * start_date - The date when the tracker was registered on the platform.\n * end_date - The date when the tracker was deregistered on the platform.\n * validation_status - Tracker's current status within the validation chain. For example: pending, pending validation, error_access, connected.\n * asset_oid - The unique internal identifier of the asset where the tracker is installed\n","tags":["Trackers"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"company_oid","description":"Company OID.","schema":{"type":"string"},"example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","required":true},{"in":"query","name":"validation_status","description":"Validation status filter.","schema":{"type":"string"},"example":"pending","required":false}],"responses":{"200":{"description":"List of trackers based on specified parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TrackerSchema"}}}},"examples":{"Tracker list":{"value":[{"oid":"e8de8bac-8115-4d51-8956-7886310f9e7e","tracker_id":"VF1RJB00971373525","provider":"cartrack","type":"canbus","start_date":"2023-10-26T08:46:25.555839+00","end_date":null,"validation_status":"connected","asset_oid":null}]}}}}},"404":{"description":"The given OID was not found.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Company not found":{"value":{"msg":"<OID> not found","error":404,"err_code":10003}}}}}},"415":{"description":"This error is shown when the company OID has no valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"OID string has no valid UUID format":{"value":{"msg":"oid string has no valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/reports/trips-distance-by-odometer":{},"/v1/reports/fleet-performance-summary":{},"/v1/reports/corporate-mobility":{},"/v1/reports/CO2-emissions":{},"/v1/vehicle/versions":{"get":{"summary":"Retrieves vehicle versions by the model ID.","description":"This endpoint allows you to retrieve details of the vehicle versions by its model ID.\n","tags":["Vehicle Versions"],"parameters":[{"name":"model_id","in":"query","required":true,"schema":{"type":"integer"},"description":"The unique identifier for the model ID.\n"}],"responses":{"200":{"description":"OK - The requested vehicle versions has been retrieved successfully.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/VehicleVersionSchema"}}]},"examples":{"vehicle versions":{"summary":"All vehicle versions by model ID","value":[{"id":1,"name":"Model A","doors":4,"transmission":"manual","engine_displacement":2000,"engine_power":150,"motorization":{"name":"ICE"},"fuel_types":[{"name":"gasoline"}],"vehicle_models_makes_id":1234},{"id":2,"name":"Model B","doors":2,"transmission":"automatic","engine_displacement":1500,"engine_power":100,"motorization":{"name":"BEV"},"fuel_types":[{"name":"gasoline"}],"vehicle_models_makes_id":1234}]}}}}},"400":{"description":"Required entity not specified. A required parameter is missed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"model_id parameter empty":{"value":{"err_code":9901,"error":400,"msg":"model_id: is missing","status":"error"}}}}}}}}},"/v1/reports/events":{},"/v1/reports/trips":{},"/v1/reports/inbox":{},"/v1/reports/fines":{},"/v1/reports/kms":{},"/v2/assets/order-install":{"post":{"summary":"Send the installation order to an asset in draft status.","description":"This endpoint allows you to install a new asset which is in draft status..\nParameters:\n  * company_address_oid(required): Company Address OID, related to the address where the installation will be done, required if provider is Targa and installation_order True.\n  * contact_person(required): information about the person to contact when doing the installation, required if provider is Targa and installation_order True.\n  * id(required): A unique identifier of the vehicle. It should be a VIN.\n","tags":["Assets"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"company_address_oid":{"type":"string"},"contact_person":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"}}},"id":{"type":"string"}}}}}},"responses":{"200":{"description":"The installation order was created and send successfully.\n","content":{"application/json":{"schema":{"type":"object","properties":{"tracker_order":{"$ref":"#/components/schemas/TrackerOrderSchema"}}}}}},"400":{"description":"Missing or invalid required parameters.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"id":{"value":{"msg":"id: is missing","err_code":9901,"error":400,"status":"error"}},"invalid UUID":{"value":{"msg":"company_address_oid is not a valid UUID","err_code":9901,"error":400,"status":"error"}}}}}},"404":{"description":"Asset, Tracker or Company Address not found.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"The company_address with oid: 7c5b2c18-8432-42ae-bbef-4bba9246585e not found"},"status":{"type":"string","example":"error"}}}}}},"415":{"description":"Incorrect data format in the request body.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}},"500":{"description":"This error is shown when the tracker order or the order payload could not be created or updated.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"Tracker could not be created":{"value":{"msg":"The tracker could not be created","err_code":500,"error":500,"status":"error"}}}}}}}}},"/v2/orders/notify-status":{},"/v1/groups/register":{"post":{"summary":"Register a new group.","description":"Register a new group with the following parameters:\n  * name: string parameter which identifies the group\n  * slug: unique, human-readable identifier, alphanumeric character string without special characters or spaces.\n  * company_oid: OID of the company at which the group belongs\n  * webhook: url pointing to the group's webhook\n  * email: email address to which notifications are sent\n\nWhen the group is created you can add trackers (See (#/Trackers)) to it.\n","tags":["Groups"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"type":"string"},"slug":{"type":"string"},"company_oid":{"type":"string"},"webhook":{"type":"string"},"email":{"type":"string"}},"required":["company_oid","name","slug"]},"examples":{"Valid data":{"value":{"name":"ACME","slug":"acme","company_oid":"871e7ddc-e171-4152-ab73-e5b58a0663b8"}}}}}},"responses":{"200":{"description":"The group has been successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSchema"},"examples":{"Correct process":{"value":{"company":{"cif":"None","city":"None","country":"None","created_at":"2022-10-24T11:28:47.129422+00:00","delete_at_period_end":false,"deleted":false,"email":"None","fiscal_address":"None","has_accepted_contract":false,"has_accepted_privacy_policy":false,"has_accepted_terms_of_service":false,"has_apikey":false,"invoicing_email":"None","language":"es-ES","name":"Acme LTD","oid":"871e7ddc-e171-4152-ab73-e5b58a0663b8","owner_oid":"7b3822ee-7909-4874-a94c-9dc9d09e9204","phone":"None","postal_code":"None","slug":"None","update_at":"2022-10-24T11:28:47.129422+00:00","vat":"None","webhook":"None"},"description":"None","email":"None","name":"ACME","oid":"ce839641-af31-480d-a839-65618ec034dc","slug":"acme","webhook":"None"}}}}}},"400":{"description":"A required parameter is missed, a group already exists with the selected slug or required entity not specified. A required parameter is missed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Slug not unique":{"value":{"error":400,"msg":"slug not unique.","err_code":501,"status":"error"}},"Company OID parameter empty":{"value":{"err_code":9901,"error":400,"msg":"company_oid: is missing","status":"error"}},"Name parameter empty":{"value":{"err_code":9901,"error":400,"msg":"name: is missing","status":"error"}},"Slug parameter empty":{"value":{"err_code":9901,"error":400,"msg":"slug: is missing","status":"error"}}}}}},"403":{"description":"You cannot create the group. This error is thrown when you don't have the necessary permissions assigned to register a group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to register the group":{"value":{"error":403,"msg":"You cannot create the group.","err_code":9902,"status":"error"}}}}}}}}},"/v2/assets/register":{"post":{"summary":"Register a new asset.","description":"Register an asset and its tracker.\nDetailed business rules (Targa + installation order, Mercedes-Benz + odo_value),\nand credentialed registration (provider-specific 'credentials')\nare documented at the component schema and completed by the spec patch.\n","tags":["Assets"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"asset_register":{"$ref":"#/components/schemas/AssetRegisterRequestSchema"}}}}}},"responses":{"200":{"description":"Asset and tracker created; installation order sent when applicable.","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/AssetSchema"},"tracker":{"$ref":"#/components/schemas/TrackerSchema"},"tracker_order":{"$ref":"#/components/schemas/TrackerOrderSchema"}}}}}},"400":{"description":"Missing or invalid required parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"missing_id":{"value":{"msg":"oid: is missing","err_code":9901,"error":400,"status":"error"}},"invalid provider":{"value":{"msg":"provider wrong value","err_code":9901,"error":400,"status":"error"}},"invalid UUID":{"value":{"msg":"company_address_oid is not a valid UUID","err_code":9901,"error":400,"status":"error"}}}}}},"403":{"description":"Tracker already exists in the database.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"Tracker already registered":{"value":{"msg":"Tracker already registered","error":403}}}}}},"404":{"description":"Company address not found.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"The company_address with oid: 7c5b2c18-8432-42ae-bbef-4bba9246585e not found"},"status":{"type":"string","example":"error"}}}}}},"409":{"description":"Asset already exists in the database.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"Asset already registered":{"value":{"msg":"Asset already registered","error":403}}}}}},"415":{"description":"Incorrect data format in the request body.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}},"500":{"description":"Tracker/asset/order could not be created or updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"Tracker could not be created":{"value":{"msg":"The tracker could not be created","err_code":500,"error":500,"status":"error"}}}}}}}}},"/v2/assets/eligible":{"post":{"summary":"Check eligibility for registering an asset.","description":"Verifies if an asset is eligible to be registered in our system or in the OEM system\nbased on its identifier and provider. Parameters must be sent in the JSON request body.\n","tags":["Assets"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["provider","asset_id","company_oid"],"properties":{"provider":{"type":"string","enum":["bmw","ford","hyundai-kia","mercedes-benz","renault","stellantis","targa","toyota","volkswagen","volvo"]},"asset_id":{"type":"string"},"company_oid":{"type":"string"},"make":{"type":"string","description":"Required when provider = \"hyundai-kia\"."},"credentials":{"type":"object","description":"Required when provider = \"hyundai-kia, unless credentials_oid is provided.\".","properties":{"username":{"type":"string"},"password":{"type":"string"},"pin":{"type":"string"},"refresh_token":{"type":"string"}},"required":["username","password","pin"]},"credentials_oid":{"type":"string","description":"Optional. If provided, existing stored credentials will be used."}}},"examples":{"hyundai_kia":{"summary":"Hyundai-Kia (requires make)","value":{"provider":"hyundai-kia","asset_id":"KNACS81FGP5069917","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f","make":"kia"}},"bmw":{"summary":"BMW (VIN only)","value":{"provider":"bmw","asset_id":"WBA5R7C58KAJ86343","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}},"mercedes_benz":{"summary":"Mercedes-Benz (VIN only)","value":{"provider":"mercedes-benz","asset_id":"WF0AXXWPMAJB43745MBBB","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}},"stellantis":{"summary":"Stellantis (VIN only)","value":{"provider":"stellantis","asset_id":"ZFAEFAA44PX137432","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}},"volkswagen":{"summary":"Volkswagen (VIN only)","value":{"provider":"volkswagen","asset_id":"WVWZZZ1JZXW000001","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}},"ford":{"summary":"Ford (VIN only)","value":{"provider":"ford","asset_id":"1FAFP404XWF123456","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}},"renault":{"summary":"Renault (VIN only)","value":{"provider":"renault","asset_id":"VF1AAAAA555555555","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}},"toyota":{"summary":"Toyota (VIN only)","value":{"provider":"toyota","asset_id":"JTDKB20U793123456","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}},"volvo":{"summary":"Volvo (VIN only)","value":{"provider":"volvo","asset_id":"YV1AAAAA555555555","company_oid":"4e3b1d3a-1c4f-4f0f-9f6e-7e1b2c3d4a5f"}}}}}},"responses":{"200":{"description":"Eligibility result with available packages.","content":{"application/json":{"schema":{"type":"object","properties":{"eligible":{"type":"boolean"},"packages":{"type":"array","items":{"$ref":"#/components/schemas/PackageProviderSlimSchema"}}}},"examples":{"eligible_mercedes":{"summary":"Eligible (example with multiple packages)","value":{"eligible":true,"packages":[{"description":"mercedes_benz_basic","info":{"friendly_name":"Mercedes-Benz Basic Mileage, Position","value":5}},{"description":"mercedes_benz_pro","info":{"friendly_name":"Mercedes-Benz Pro Mileage, Position, Consumption and Maintenance","value":7}}]}},"not_eligible":{"summary":"Not eligible","value":{"eligible":false,"packages":[]}}}}}},"400":{"description":"Missing or invalid required parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}},"404":{"description":"Provider not found in platform or credential_oid doesn't exist.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}},"409":{"description":"Asset already registered.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}},"422":{"description":"The asset is not eligible due to a provider validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}},"500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}}}}},"/v1/assets/create":{"post":{"summary":"Creates a new asset.","description":"This endpoint allows you to register a new asset with the specified details.\nThe following fields are optional unless otherwise stated:\n\n  * id (required): The unique ID of the asset, For vehicles is the VIN.\n  * license_plate: The license plate of the asset if is a vehicle.\n  * model_year(required): The year of the vehicle model.\n  * tank_size: The size of the fuel tank in liters for vehicles.\n  * color: Color of the asset (as an enum value).\n  * alias: A friendly name for the asset.\n  * battery_size: Integer with the battery size expressed in kWh for electric vehicles.\n  * external_validation_data: Json with external validation id to extract information from provider. Eg. value with which to extract the information in Cartrack provider.\n  * version_id (required): The ID of the associated vehicle version.\n  * company_oid (required): The OID of the associated company.\n  * status(required): The asset status, available values are draft, processed, active and inactive.\n  * registration_country(required): registration country code of the vehicle, it must be in format  ISO 3166-1 alpha-3.\n  * registration_date: The asset's registration  date.\n","tags":["Assets"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSchema"},"examples":{"default":{"summary":"Basic asset creation.","value":{"id":"VIN if the assets is a vehicle","license_plate":"ABC-1234","model_year":2020,"tank_size":50,"color":"blue","alias":"My Car","image_id":42,"battery_size":70,"external_validation_data":{"external_id":"ABC-1234"},"version_id":123,"status":"draft","registration_country":"ITA","registration_date":"2024-01-01"}}}}}},"responses":{"201":{"description":"The asset was created successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSchema"}}}},"400":{"description":"Missing or invalid required parameters.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"missing_id":{"value":{"msg":"id: is missing","err_code":9901,"error":400,"status":"error"}}}}}},"403":{"description":"You cannot create the asset. This error is thrown when you don't have the necessary permissions assigned to create an asset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No allow to create the asset":{"value":{"error":403,"msg":"You cannot create the asset.","err_code":9902}}}}}},"415":{"description":"Incorrect data format in the request body.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}}}}},"/v1/links/tracker-inside-geofence-for-more-than-n-minutes/":{},"/v1/links/tracker-inactive-for-more-than-7-days/":{},"/v1/links/tracker-property-equal-boolean-value/":{},"/v1/links/tracker-is-moving-within-a-schedule/":{},"/v1/links/tracker-odometer-greater-than-n-km/":{},"/v1/links/tracker-travels-more-than-n-km/":{},"/v1/links/tracker-property-min-value/":{},"/v1/links/tracker-property-max-value/":{},"/v1/links/tracker-outside-geofence/":{},"/v1/links/maintenance-notification/":{},"/v1/links/tracker-inside-geofence/":{},"/v1/links/tracker-close-to-poi/":{},"/v1/links/engine-blocked-event/":{},"/v1/links/device-disconnected/":{},"/v1/users/reset-password":{},"/v1/users/set-password":{},"/v1/links/towing-event/":{},"/v1/links/crash-event/":{},"/v1/users/register":{},"/v1/users/invite":{},"/v1/users/login":{},"/v1/users/me":{},"/v1/pois/create":{"post":{"summary":"Creates a POI from a GeoJSON FeatureCollection.","description":"This endpoint will create a new POI (Point of Interest) for each feature in the [GeoJSON FeatureCollection](https://www.rfc-editor.org/rfc/rfc7946#section-3.3) received in the request payload.\nThe GeoJSON Features currently supported to create a POI are `Point`, `Polygon` and `MultiPolygon`.\n","tags":["POIs"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["FeatureCollection"]},"features":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"properties":{"type":"object","properties":{"name":{"type":"string"},"info":{"type":"object"},"tags":{"type":"array","items":{"type":"string"}},"public":{"type":"boolean"}},"required":["name"]},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Point","Polygon","MultiPolygon"]},"coordinates":{"type":"array","items":{"oneOf":[{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2},{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}},{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"array","items":{"type":"number"},"minItems":2,"maxItems":2}}}}]}}},"required":["type","coordinates"]}},"required":["geometry"]}}},"required":["type","features"]},"examples":{"valid_data":{"summary":"Creation of a POI from a one Feature FeatureCollection GeoJSON","value":{"type":"FeatureCollection","features":[{"properties":null,"name":"Gasolinera Repsol","info":{"type":"gas station","brand":"Repsol"},"tags":["services","station"],"public":true,"geometry":{"type":"Point","coordinates":[41.3455,2.5356]}}]}}}}}},"parameters":[{"in":"query","name":"company_oid","description":"Creates the POIs and assigns them to the specified company. Useful if the user making the request belongs to more than one company.\nIf omitted, the default company for the user (usually the first they were assigned to or owned) will be used to create the POI.\n","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"POI created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoiSchema"},"example":{"company_oid":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","created_at":"2020-03-31T13:55: 08.132720+00: 00","geometry":{"type":"Point","coordinates":[41.3455,2.5356]},"info":{"type":"gas station","brand":"Repsol"},"tags":["services","station"],"oid":"1245215a-861f-4e2d-82f3-88d29e9474b3","name":"Gasolinera Repsol","public":true,"visible":true}}}},"415":{"description":"Either the request payload is missing or it does not include a valid GeoJSON FeatureCollection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No FeatureCollection in data":{"value":{"error":415,"msg":"The POI could not be created. You should send a GeoJSON FeatureCollection","err_code":803,"http_code":400,"status":"error"}},"No payload sent in the request":{"value":{"error":415,"msg":"The POI could not be created because JSON data is missing","err_code":804,"http_code":400,"status":"error"}},"Missing fields in any GeoJSON features included in payload":{"value":{"error":415,"msg":"Some of the following keys are missing: name, latitude, longitude","err_code":9900,"http_code":400,"status":"error"}}}}}}}}},"/v1/pois/public":{"get":{"summary":"Get public POIs.","description":"Get public POIs. If no parameters are given, it will return *all* the public POIs available. The endpoint also admits filtering by `latitude`, `longitude`, `radius`, `info` and `tags`.","tags":["POIs"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"latitude","description":"Must be used together with a `longitude` and, optionally, with a `radius`. It will filter POIs located around provided latitude and longitude, and within the given radius.","schema":{"type":"number"},"required":false,"example":40.4532},{"in":"query","name":"longitude","description":"Must be used together with a `latitude` and, optionally, with a `radius`. It will filter POIs located around provided latitude and longitude, and within the given radius.","schema":{"type":"number"},"required":false,"example":1.4532},{"in":"query","name":"tags","description":"Filter by tags","schema":{"type":"string"},"required":false,"example":"[\"gas-station\", \"services\"]"},{"in":"query","name":"info","description":"Filter by info","schema":{"type":"string"},"required":false,"example":{"city":"Madrid"}},{"in":"query","name":"radius","description":"Set radius, in meters, around the given coordinates where returned POIs will be located. Must be used together with `latitude` and `longitude`. Can be omitted, and will default to 30 (meters).","schema":{"type":"integer"},"required":false,"example":200}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PoiSchema"}}}}},"415":{"description":"Attribute missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"latitude field missing":{"value":{"error":415,"msg":"latitude: is missing","http_code":415,"err_code":9901}},"longitude field missing":{"value":{"error":415,"msg":"longitude: is missing","http_code":415,"err_code":9901}},"Invalid JSON for tags or info fields":{"value":{"error":415,"msg":"The POI could not be retrieved. Searching with incorrect tag or info field","http_code":415,"err_code":810}}}}}}}}},"/v1/tracking-schedules/":{"get":{"summary":"Return data related to schedules.","description":"A company can have got none, one or multiple schedules and this endpoint returns all the company's data related to schedules by company oid or the data related to an specific schedule by schedule_oid.\n","tags":["Schedules"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"schedule_oid","description":"Schedule OID.","required":false,"schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"}},{"in":"query","name":"company_oid","description":"Company OID.","required":false,"schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"}}],"responses":{"200":{"description":"This answer provides the data of an specific schedule or a list of a company schedules.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackingSchedule"},"examples":{"Get an specific schedule data":{"value":{"company_oid":"2fe5dd0e-fc28-435f-995c-6d4c74529b35","description":"Working hours","name":"Working hours","oid":"6d54cf6b-34e0-4634-bd4e-d488cc3d2224","schedule":{"exceptions":[{"day":1,"month":1,"on_repeat":true,"year":2024}],"timetable":{"Mon":[["8:00","10:00"]],"Tue":[["8:00","10:00"],["14:00","17:00"]]}},"timezone":"Pacific/Niue"}},"Get all the company schedules":{"value":[{"company_oid":"2fe5dd0e-fc28-435f-995c-6d4c74529b35","description":"Working hours","name":"Working hours","oid":"6d54cf6b-34e0-4634-bd4e-d488cc3d2224","schedule":{"exceptions":[{"day":1,"month":1,"on_repeat":true,"year":2024}],"timetable":{"Mon":[["8:00","10:00"]],"Tue":[["8:00","10:00"],["14:00","17:00"]]}},"timezone":"Pacific/Niue"}]}}}}},"400":{"description":"Required entity not specified. A required parameter is missed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"schedule_id or company_oid parameter empty":{"value":{"err_code":9901,"error":400,"msg":"At least one parameter (schedule_id or company_oid) must be added to the query.","status":"error"}}}}}},"404":{"description":"Company or Schedule not found. There is not a match with what is in the database for the company oid or the schedule oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company not found":{"value":{"error":404,"err_code":10003,"msg":"company_oid not found."}},"Schedule not found":{"value":{"error":404,"err_code":10003,"msg":"schedule_oid not found."}}}}}},"415":{"description":"Company or Schedule oid string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format for company oid":{"value":{"error":415,"err_code":9901,"msg":"company oid: is incorrect."}},"Not valid UUID format for schedule oid":{"value":{"error":415,"err_code":9901,"msg":"schedule oid: is incorrect."}}}}}}}}},"/v1/companies/":{},"/v1/providers/":{},"/v1/trackers/":{"get":{"summary":"Returns a list of trackers that belong to a company.","description":"This endpoint allows you to get a list of trackers that belong to your company or to one of your groups. By default, all your company's trackers will be returned.\nIn order to limit the search results, the following optional query parameters can be specified:\n  * group_oid: this limits the response to a specific group within your company.\n  * filter_by: this limits the response to trackers with a specific validation status. Available values: connected, disconnected, error_access, error_not_available, error_revoked, pending, pending_for_data, pending_validation, wrong_tracker_id.\n","tags":["Trackers"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"company_oid","required":true,"schema":{"type":"string","example":"d1dfbac7-8729-4efc-bfd4-aaa8d8fccc23"}},{"in":"query","name":"group_oid","required":false,"schema":{"type":"string","example":"87cc48f4-5ef3-484f-ac79-854bcf4861bb"}},{"in":"query","name":"filter_by","required":false,"schema":{"type":"string","enum":["pending","wrong_tracker_id","pending_for_data","error_data","connected"],"example":"connected"}}],"responses":{"200":{"description":"OK - JSON file that contains a list of trackers that match the used filters.\n","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrackerSchema"}},"examples":{"Trackers that are in validation_status \"wrong_tracker_id\"":{"value":{"data":[{"end_date":null,"external_validation_data":null,"heartbeat":"2022-02-09T12:44:06.935617+00:00","motorization":null,"moving":false,"object_id":{"make":"Mercedes-Benz","vin":"HJ4DC538X62021828"},"oid":"2214a635-5cc5-4f1c-b30a-b28fd61e2jan","provider":"mercedes-benz","start_date":"2022-02-09T12:44:06.935612+00:00","tracker_id":"HJ4DC538X62021828","type":"oem","validation_status":"wrong_tracker_id","vehicle_type":"car"}]}},"Trackers that are in validation_status \"connected\"":{"value":{"data":[{"end_date":null,"external_validation_data":null,"heartbeat":"2022-08-28T20:44:04.000000+00:00","motorization":null,"moving":false,"object_id":{"license_plate":"5006LPJ","make":"BMW","model":"X1","vin":"BWA71AC0403N37625"},"oid":"4085a8e7-f71c-429b-93e3-62380e8c127e","position":{"latitude":38.253941,"longitude":-2.894996},"provider":"bmw","start_date":"2021-06-21T09:26:15.874161+00:00","tracker_id":"BWA71AC0403N37625","type":"oem","validation_status":"connected","vehicle_type":"car"}]}}}}}},"400":{"description":"Information provided in the query is incorrect o missing.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"The specified filter_by is unavailable":{"value":{"msg":"filter_by must be one of the following values: pending, wrong_tracker_id, pending_for_data, error_data, connected","err_code":9900,"error":400}},"Company_OID was not provided":{"value":{"msg":"company_oid: is missing","err_code":9901,"error":400}}}}}},"403":{"description":"No permission to retrieve the required information.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Provided group_OID does not belong to your company":{"value":{"msg":"You cannot read the trackers of this group.","err_code":9902,"error":403}}}}}},"404":{"description":"The given company OID or group OID was not found in the database.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Company not found":{"value":{"msg":"company_oid not found.","error":404,"err_code":10003}},"Group not found":{"value":{"msg":"group_oid not found.","error":404,"err_code":500}}}}}},"415":{"description":"This error is shown when the company OID or group OID string has no valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Company OID string has no valid UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}},"Group OID string has no valid UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/groups/":{"get":{"summary":"Return a list of the groups.","description":"Returns a list of the groups. If the user does not belong to any group, the endpoint will return an empty array.\n","tags":["Groups"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"responses":{"200":{"description":"List of user's groups.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupSchema"}},"examples":{"User belongs to one or many groups":{"value":{"data":[{"company":{"cif":"None","city":"None","country":"None","created_at":"2022-10-24T10:52:28.337032+00:00","delete_at_period_end":false,"deleted":false,"email":"None","fiscal_address":"None","has_accepted_contract":false,"has_accepted_privacy_policy":false,"has_accepted_terms_of_service":false,"has_apikey":false,"invoicing_email":"None","language":"es-ES","name":"Acme LTD","oid":"da887110-3c22-42ba-883a-d9380126c112","owner_oid":"ea7e95fc-0efd-40b3-b51a-b6fc898d9508","phone":"None","postal_code":"None","slug":"None","update_at":"2022-10-24T10:52:28.337032+00:00","vat":"None","webhook":"None"},"description":"description","email":"testing@testing.com","name":"name","oid":"255b9ce8-eb9d-45c1-a619-9877b47f789d","slug":"slug","webhook":"None"}]}},"User does not belong to any group":{"value":{"data":[]}}}}}}}}},"/v2/assets/":{},"/v2/orders/":{},"/v1/pois/":{"get":{"summary":"Gets company or group associated POIs.","description":"This endpoint returns the list of POIs associated with either the group or company specified.","tags":["POIs"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"query","name":"company_oid","description":"Returned POIs will be filtered by this company. Either this parameter or `group_oid` must be specified.","schema":{"type":"string"},"required":false},{"in":"query","name":"group_oid","description":"Returned POIs will be filtered by this group. Either this parameter or `company_oid` must be specified.","schema":{"type":"string"},"required":false},{"in":"query","name":"all","description":"Get both subscribed and owned POIs in the company. If not specified, only owned POIs will be returned. This only applies when the endpoint is queried with a `company_oid`.","schema":{"type":"boolean","default":false},"required":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PoiSchema"}}}}},"415":{"description":"Wrong request parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Invalid company_oid":{"value":{"error":415,"msg":"company_oid: is not a valid UUID","http_code":415,"err_code":9900}},"Both company_oid and group_oid missing":{"value":{"error":415,"msg":"company_oid or group_oid: is missing","http_code":415,"err_code":9901}}}}}}}}},"/healthcheck":{"get":{"description":"Return OK and the environment","summary":"Health check for api","responses":{"200":{"description":"OK production","content":{"text/plain":{"schema":{"type":"string","example":"OK production"}}}}}}},"/e2e_utils":{},"/":{},"/v1/importers/bmw/v1/clearances/{clearanceId}/events/{eventName}":{},"/v1/importers/bmw/v1/clearances/{clearanceId}/status/{clearanceStatus}":{},"/v1/commands/tracker/{tracker_id}/bluetooth/token":{"post":{"summary":"Retrieve the Bluetooth token for a specific tracker.","description":"This endpoint generates and retrieves a Bluetooth token for a tracker.\nThe token is valid for a specified time range provided via query parameters.\n","tags":["Commands / Tracker"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"tracker_id","description":"The unique identifier of the tracker.","required":true,"schema":{"type":"string","example":"3FAHP0JA6CR302697"}},{"in":"query","name":"correlation_id","description":"An internal correlation identifier for the token request.","required":true,"schema":{"type":"integer","example":1}},{"in":"query","name":"valid_from","description":"The start date and time for the token's validity (ISO 8601 format).","required":true,"schema":{"type":"string","format":"date-time","example":"2025-01-01T09:12:33.001Z"}},{"in":"query","name":"valid_to","description":"The end date and time for the token's validity (ISO 8601 format).","required":true,"schema":{"type":"string","format":"date-time","example":"2025-01-07T18:00:00.001Z"}}],"responses":{"200":{"description":"The token was successfully generated.","content":{"application/json":{"schema":{"type":"object","properties":{"open":{"type":"string"},"close":{"type":"string"},"characteristicUUID":{"type":"string"},"idBLE":{"type":"string"},"serviceUUID":{"type":"string"}}},"examples":{"success":{"summary":"Token successfully generated.","value":{"open":"token_open_value","close":"token_close_value","characteristicUUID":"uuid_value","idBLE":"ble_id_value","serviceUUID":"service_uuid_value"}}}}}},"400":{"description":"Bad request due to missing or invalid parameters.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"msg":{"type":"string"},"err_code":{"type":"integer"}}},"examples":{"Missing parameter":{"value":{"error":"Invalid 'validFrom' format. Expected ISO 8601 format: 'YYYY-MM-DDTHH:MM:SS.sssZ'.","msg":"Missing required query parameters.","err_code":9901}}}}}},"403":{"description":"Access forbidden due to insufficient permissions or inactive service.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"integer"},"msg":{"type":"string"}}},"examples":{"Service inactive":{"value":{"error":403,"msg":"The company does not have the service active."}}}}}},"404":{"description":"Tracker ID not found.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"integer"},"msg":{"type":"string"},"err_code":{"type":"integer"}}},"examples":{"Tracker not found":{"value":{"error":404,"msg":"Tracker ID <tracker_id> not found.","err_code":101}}}}}},"406":{"description":"Command not supported for the tracker.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"integer"},"msg":{"type":"string"}}},"examples":{"Not supported":{"value":{"error":406,"msg":"Command not available for the tracker."}}}}}}}}},"/v1/companies/company-address/{oid}/delete":{},"/v1/companies/company-address/{oid}/update":{},"/v1/companies/{oid}/members/update":{},"/v1/companies/{oid}/members/delete":{},"/v1/companies/{oid}/pois/unsubscribe":{"delete":{"summary":"Unsubscribes your company from a single POI.","description":"This endpoint unsubscribes your company from a single POI. It requires the _company_oid_ as your identifier.\n","tags":["Companies"],"security":[{"BearerAuth":["delete"]},{"ApiKeyAuth":["delete"]}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"poiOid":{"type":"string"}},"required":["poiOid"]},"examples":{"Valid POI OID in the UUID format":{"value":{"poi_oid":"4be64551-529d-4115-b91e-5a8fe803ba8a"}}}}}},"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}}],"responses":{"200":{"description":"OK - POI has been removed from your subscriptions.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PoiSchema"}},"examples":{"POI has been removed from your subscriptions":{"value":[{"public":true,"visible":true,"updated_at":"2022-10-28T08:49:24.430Z","created_at":"2022-10-28T08:49:24.430Z","name":"Madrid","oid":"687ab1e2-9ecf-4aac-a120-3d6777d3dc92","company_oid":"33799e83-8e8d-4d78-b24d-af25eb169f98","geometry":"","info":{"ccaa":"Madrid","province":"Madrid"}}]}}}}},"400":{"description":"Attribute missing. Provide the required parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"POI OID missing":{"value":{"error":400,"err_code":9901,"msg":"poi_oid is missing"}},"Company OID missing":{"value":{"error":400,"err_code":9901,"msg":"company_oid is missing"}}}}}},"403":{"description":"No permission. You cannot update the POIs of this company.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No permission to modify this company's data":{"value":{"error":403,"err_code":9902,"msg":"You cannot update the company"}}}}}},"404":{"description":"Company or POI not found within our database. Revise the provided OIDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID not found":{"value":{"error":404,"err_code":10003,"msg":"not found"}},"POI ID not found":{"value":{"error":404,"err_code":801,"msg":"not found"}}}}}},"415":{"description":"Invalid OID format. The OID string has to be provided in the UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID was provided in an invalid format":{"value":{"error":415,"err_code":9900,"msg":"oid: is incorrect"}}}}}}}}},"/v1/companies/{oid}/pois/subscribe":{"post":{"summary":"Subscribe a company to a given poi","description":"This endpoint allows you to subscribe a company to a given poi. This feature enables you to get the POIs related to the company in a simple way.\n\nIf the action is completed, it returns the subscribed POIs of the company plus the new one.\n","tags":["Companies"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}}],"responses":{"200":{"description":"Returns the list of POIs that the company has subscribed. It should include the new poi, as well as the past POIs that the company subscribed.\n","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PoiSchema"}}}}}}},"400":{"description":"Incorrect or missing parameters in the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"POI oid is missing":{"value":{"error":400,"err_code":413,"msg":"poi_oid can not be missing."}}}}}},"403":{"description":"You cannot subscribe this company to the poi. You don't have enough permissions to complete this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User does not have permissions to subscribe the company to a poi":{"value":{"msg":"You cannot update the company.","error":403,"err_code":9902}}}}}},"404":{"description":"Company or poi not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company not found":{"value":{"msg":"company_oid not found","error":404,"err_code":10003}},"POI not found":{"value":{"msg":"poi_id not found","error":404,"err_code":801}}}}}},"415":{"description":"This error is shown when the company OID or poi OID string has not a valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}},"Poi OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/commands/tracker/{oid}/send_command":{"post":{"summary":"Post if want to send a command to a tracker.","description":"This endpoint sends a command to a tracker.\n\nAt this moment, this endpoint is only available for the trackers connected with Targa.\n","tags":["Commands / Tracker"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"The OID of the tracker.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"command_name","description":"the name of the command.","required":true,"schema":{"type":"string","enum":["DOOR_LOCKED","DOOR_UNLOCKED","ENGINE_BLOCK_ON","ENGINE_BLOCK_OFF"]}}],"responses":{"204":{"description":"The command was send to the tracker."},"400":{"description":"Tracker OID format is wrong, must be valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Command_name is missing":{"value":{"msg":"command_name is missing","error":400,"err_code":9901}}}}}},"403":{"description":"Not enough permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"You cannot update the tracker":{"value":{"error":403,"msg":"You cannot update the TRACKER","err_code":9902}}}}}},"404":{"description":"Tracker not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Tracker not found":{"value":{"msg":"Tracker not found.","error":404,"err_code":101}}}}}},"406":{"description":"This error is shown when the tracker has not available this command.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker has not available this command":{"value":{"msg":"This tracker has not available this command.","error":406}}}}}},"415":{"description":"This error is shown when the tracker OID has no valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker OID string has no valid UUID format":{"value":{"msg":"oid string has no valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/groups/{oid}/trackers/positions":{"get":{"summary":"Returns trackers' last position.","description":"Returns a list with the last position of the trackers of one group by its group OID.","tags":["Groups"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"responses":{"200":{"description":"List of group's tracker with their last position.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Position"}},"examples":{"Correct process":{"value":{"data":[{"latitude":40.989312797928065,"longitude":-3.3624383593885327,"tracker_id":"cartrack0","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.14514680993196,"longitude":-3.232825861606184,"tracker_id":"cartrack1","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.03668997764376,"longitude":-3.0776209544183426,"tracker_id":"cartrack2","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.543410957725015,"longitude":-3.1670515054454205,"tracker_id":"cartrack3","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.76527833467426,"longitude":-3.0881463611642133,"tracker_id":"cartrack4","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.225444364281714,"longitude":-3.6586244742167895,"tracker_id":"cartrack5","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":40.63944526590116,"longitude":-3.4166970422063527,"tracker_id":"cartrack6","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.135387340399774,"longitude":-3.140295315234774,"tracker_id":"cartrack7","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.43643068461442,"longitude":-3.606487759038501,"tracker_id":"cartrack8","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.19954052388213,"longitude":-3.617131795486305,"tracker_id":"cartrack9","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":40.54281276608254,"longitude":-3.795796653294489,"tracker_id":"cartrack10","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.27049476265155,"longitude":-3.2352244057125334,"tracker_id":"132ACK11","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.53234478175431,"longitude":-3.334827779505384,"tracker_id":"1ADDXBD2","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":40.408103483502735,"longitude":-3.298439563502786,"tracker_id":"AADBBD13","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.27307039898459,"longitude":-3.5771396100318604,"tracker_id":"ADFEEC14","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":40.26114949609621,"longitude":-3.488879025601494,"tracker_id":"ASDF15","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":40.69875687983846,"longitude":-3.699976437293161,"tracker_id":"UULASCB16","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.340297645400014,"longitude":-3.150798513288557,"tracker_id":"CBDJR17","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.45167355019214,"longitude":-3.095112784815429,"tracker_id":"BSCC18","ts":"2022-11-13T11:58:04.072831+00:00"},{"latitude":41.34941436454212,"longitude":-3.890159971268531,"tracker_id":"KKBAC19","ts":"2022-11-13T11:58:04.072831+00:00"}]}}}}}},"403":{"description":"You cannot read data of the group. This error is thrown when you don't have the necessary permissions assigned to read data of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to read data of the group":{"value":{"error":404,"msg":"You cannot read the group.","err_code":9902}}}}}},"404":{"description":"Group not found. The system could not find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}}}}},"/v1/groups/{oid}/trackers/push":{"put":{"summary":"Add trackers to a group.","description":"This endpoint allows you to assign trackers to a group within a company. This is a feature that allows you to \"group\" trackers within the company. For example, you can create\na group to group all the vehicles that are being used by your sales team. The group could be named \"sales\" and then you can add the trackers to it, so you can get their\npositions, and statistics.\n","tags":["Groups"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"trackers":{"type":"array","items":{"type":"object","properties":{"oid":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"The trackers has been successfully added.","content":{"application/json":{"schema":{"type":"object","properties":{"group":{"type":"object","properties":{"oid":{"type":"string"},"name":{"type":"string"}}},"trackers":{"type":"array","items":{"type":"object","properties":{"oid":{"type":"string"},"tracker_id":{"type":"string"},"object_id":{"type":"object"}}}}}}}}},"400":{"description":"A required parameter is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Trackers parameter empty":{"value":{"err_code":9901,"error":400,"msg":"trackers: is missing","status":"error"}},"company_oid parameter empty":{"value":{"err_code":9901,"error":400,"msg":"company_oid: is missing","status":"error"}}}}}},"404":{"description":"Group not found. The system could not find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}},"500":{"description":"The tracker could not be added to the group due to a problem when performing the action on our side. Please, contact us so we can address this issue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"The tracker could not be added to the group":{"value":{"msg":"Tracker could not be added.","error":500,"err_code":503}}}}}}}}},"/v1/groups/{oid}/trackers/pop":{"put":{"summary":"Removes trackers from a group","description":"This endpoints allows you to remove trackers from a certain group.","tags":["Groups"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"trackers":{"type":"array","items":{"type":"string"}}}},"examples":{"Valid data":{"value":{"trackers":["1e08f6a1-4b3c-4df7-b7d8-32ff0ddc1e71"]}}}}}},"responses":{"200":{"description":"The trackers has been successfully removed.","content":{"application/json":{"schema":{"type":"object","properties":{"group":{"type":"object","properties":{"oid":{"type":"string"},"name":{"type":"string"}}},"trackers":{"type":"array","items":{"type":"object","properties":{"oid":{"type":"string"},"tracker_id":{"type":"string"},"object_id":{"type":"object"}}}}}}}}},"400":{"description":"A required parameter is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Trackers parameter is empty":{"value":{"err_code":9901,"error":400,"msg":"trackers: is missing","status":"error"}},"company_oid parameter is empty":{"value":{"err_code":9901,"error":400,"msg":"company_oid: is missing","status":"error"}}}}}},"404":{"description":"Group not found. The system could not find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}}}}},"/v1/groups/{oid}/members/update":{},"/v1/groups/{oid}/members/delete":{},"/v1/groups/{oid}/members/add":{},"/v1/groups/{oid}/pois/unsubscribe":{"delete":{"summary":"Unsubscribe a public POI from a group.","description":"Unsubscribe a public POI from a group. When removing a POI from a group, the poi remains in the system but it will not apply anymore to the group.\n","tags":["Groups"],"security":[{"BearerAuth":["delete"]},{"ApiKeyAuth":["delete"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"poiOid":{"type":"string"}},"required":["poiOid"]},"examples":{"Valid data":{"value":{"poi_oid":"1e08f6a1-4b3c-4df7-b7d8-32ff0ddc1e71"}}}}}},"responses":{"200":{"description":"The POI has been successfully unsubscribed.","content":{"application/json":{"examples":{"Correct process":{"value":{"data":[]}}}}}},"400":{"description":"A required parameter is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"poiOid parameter empty":{"value":{"err_code":9901,"error":400,"msg":"poiOid: is missing","status":"error"}}}}}},"403":{"description":"You cannot update the group. This error is thrown when you don't have the necessary permissions assigned to update a group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to update the group":{"value":{"error":403,"msg":"You cannot update the group.","err_code":9902}}}}}},"404":{"description":"POI or group not found. The system could not find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}},"POI not found":{"value":{"error":404,"err_code":801,"msg":"POI not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}}}}},"/v1/groups/{oid}/pois/subscribe":{"post":{"summary":"Subscribe a public POI to a group.","description":"Subscribe a public POI to a group. The subscribed POI will appear in the list of POIs of the group.","tags":["Groups"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"poiOid":{"type":"string"}},"required":["poiOid"]},"examples":{"Valid data":{"value":{"poi_oid":"1e08f6a1-4b3c-4df7-b7d8-32ff0ddc1e71"}}}}}},"responses":{"200":{"description":"The POI has been successfully subscribed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSchema"},"examples":{"Correct process":{"value":{"data":[{"company_oid":"100fbd5d-6d61-4ff0-871c-fd26e63a0504","created_at":"2022-10-26T09:20:52.367375+00:00","geometry":{"coordinates":[[[-3.708057403564453,40.42107625193684],[-3.721017837524414,40.41068593018809],[-3.707199096679688,40.39839844820752],[-3.699560165405273,40.40316991770238],[-3.69114875793457,40.40735284561541],[-3.691492080688477,40.4191159366806],[-3.708057403564453,40.42107625193684]]],"type":"Polygon"},"info":{"business":"Low"},"name":"LEZ613","oid":"1e08f6a1-4b3c-4df7-b7d8-32ff0ddc1e71","public":false,"tags":["one","two","three"],"visible":true}]}}}}}},"400":{"description":"A required parameter is missed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"poiOid parameter empty":{"value":{"err_code":9901,"error":400,"msg":"poiOid: is missing","status":"error"}}}}}},"403":{"description":"You cannot update the group. This error is thrown when you don't have the necessary permissions assigned to update a group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to update the group":{"value":{"error":403,"msg":"You cannot update the group.","err_code":9902}}}}}},"404":{"description":"POI or group not found. The system could not find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}},"POI not found":{"value":{"error":404,"err_code":801,"msg":"POI not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}}}}},"/v1/tracking-schedules/{oid}/update":{"post":{"summary":"Update an schedule for a company.","description":"This endpoint allows you to modify an existing schedule. You can change the parameters that uses those schedules.\nThis schedules set in which timetable the tracker information is stored.\nUpdate schedule with:\n  * name\n  * description\n  * schedule\n  * timezone\n","tags":["Schedules"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Schedule OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"schedule":{"type":"object","properties":{"timetable":{"type":"object","properties":{"Mon":{"type":"array"},"Tue":{"type":"array"},"Wed":{"type":"array"},"Thu":{"type":"array"},"Fri":{"type":"array"},"Sat":{"type":"array"},"Sun":{"type":"array"}}},"exceptions":{"type":"array"}}},"timezone":{"type":"string"}}},"examples":{"Schedule with exceptions":{"description":"Create the schedule with one exception","value":{"timezone":"Pacific/Niue","schedule":{"timetable":{"Mon":[["8:00","10:00"],["14:00","17:00"]],"Tue":[["8:00","10:00"],["14:00","17:00"]]},"exceptions":[{"day":1,"month":1,"year":2024,"on_repeat":true}]},"company_oid":"71ecd9a1-51f0-4bb7-974b-f93feb300a49","name":"Working hours","description":"Working hours"}}}}}},"responses":{"200":{"description":"The endpoint returns an object with the created schedule.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackingSchedule"},"examples":{"Correct process":{"value":{"company_oid":"eb51c264-2d19-4e11-9009-20a7bc2e9446","description":"Working hours","name":"Working hours","oid":"12f4cf73-bcc3-4462-9086-27b0a6900236","schedule":{"exceptions":[{"day":1,"month":1,"on_repeat":true,"year":2024}],"timetable":{"Mon":[["8:00","10:00"],["14:00","17:00"]],"Tue":[["8:00","10:00"],["14:00","17:00"]]}},"timezone":"Pacific/Niue"}}}}}},"400":{"description":"Required entity not specified. A required parameter is missed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Timetable parameter empty":{"value":{"err_code":9901,"error":400,"msg":"timezone: is missing","status":"error"}}}}}},"403":{"description":"You cannot update the schedule. This error is thrown when you don't have the necessary permissions assigned to update an schedule.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to update the schedule":{"value":{"error":403,"msg":"You cannot update the schedule.","err_code":9902}}}}}}}}},"/v1/tracking-schedules/{oid}/delete":{"delete":{"tags":["Schedules"],"summary":"Delete a schedule by its oid.","description":"This endpoint allows you to remove a schedule when you do not need it anymore.\n","security":[{"BearerAuth":["delete"]},{"ApiKeyAuth":["delete"]}],"parameters":[{"in":"path","name":"oid","description":"Schedule OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"responses":{"204":{"description":"The schedule has been successfully deleted."},"403":{"description":"You cannot delete the schedule. This error is thrown when you don't have the necessary permissions assigned to delete schedules.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No allow to delete the schedule":{"value":{"error":403,"msg":"You cannot delete the schedule.","err_code":9902}}}}}},"404":{"description":"Schedule not found. The system could find an schedule for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Schedule not found":{"value":{"error":404,"err_code":600,"msg":"schedule_oid not found."}}}}}},"415":{"description":"Schedule oid string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}}}}},"/v1/telemetrics/{tracker_oid}/dates-with-trips":{"get":{"summary":"Returns a list of trip's dates for the given tracker","description":"This endpoint allows you to get a list of dates where the given tracker OID has had at least one trip. This endpoint is useful for creating a calendar for the tracker, showing on which days the tracker had at least one trip.\n","tags":["Telemetrics"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"tracker_oid","description":"Tracker OID.","schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000"},"required":true}],"responses":{"200":{"description":"List of trip's dates for the given tracker OID","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string","format":"date-time"}}}}}}},"403":{"description":"You don't have permission to read_trips for this tracker.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"The user session or API key does not have enough privileges to read this data":{"value":{"msg":"You cannot read_trips the tracker","err_code":9902,"error":403,"status":"error"}}}}}},"404":{"description":"Tracker could not be found by its OID","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Tracker cannot be found":{"value":{"msg":"tracker_id not found","err_code":101,"error":404,"status":"error"}}}}}},"415":{"description":"Tracker OID does not have a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Invalid tracker OID":{"value":{"msg":"oid: is not a valid UUID","err_code":9900,"error":415,"status":"error"}}}}}}}}},"/v1/telemetrics/{tracker_oid}/trips-stats":{"get":{"summary":"Returns statistics for all trips for the tracker OID.","description":"This endpoint returns statistics on the tracker's trips from its creation up until the last received heartbeat.\n\n* **kms**: Total kilometers.\n* **time**: Total time moving within those trips. This variable is measured in seconds.\n\nThe heartbeat of the tracker represents the last time the tracker has sent a valid GPS position to the system.\n\nYou can filter the statistics for a range of dates using the following query parameters:\n\n* **start_date**: From this given date in this format YYYY-MM-DD.\n* **end_date**: To this given date in this format YYYY-MM-DD. If this value is not given, the system will use the last heartbeat of the tracker to filter the data.\n","tags":["Telemetrics"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"tracker_oid","description":"Tracker OID.","schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000"},"required":true},{"in":"query","name":"start_date","description":"The start date, in the format YYYY-MM-DD, for filtering the trips' statistics of the tracker OID.","schema":{"type":"string","format":"date-time"}},{"in":"query","name":"end_date","description":"The end date, in the format YYYY-MM-DD, for filtering the trips' statistics of the tracker OID.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stats"}}}},"403":{"description":"You don't have permissions to read trips for this tracker.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User session or API key does not have enough privileges to read this data":{"value":{"msg":"You cannot read trips of this tracker","err_code":9902,"error":403,"status":"error"}}}}}},"404":{"description":"Tracker could not be found by its OID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Tracker cannot be found":{"value":{"msg":"tracker_id not found","err_code":101,"error":404,"status":"error"}}}}}},"415":{"description":"Tracker OID does not have a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Invalid tracker OID":{"value":{"msg":"oid: is not a valid UUID","err_code":9900,"error":415,"status":"error"}}}}}}}}},"/v1/companies/company-address/{oid}":{},"/v1/companies/{oid}/remove-tracking-schedule":{"delete":{"summary":"Remove a tracking schedule from a company","description":"This endpoint allows you to remove a tracking schedule from a company and all their trackers. This feature enables you to unset the tracking schedule for a single company and all their trackers.\nThis endpoint gets the 'all' parameter, which indicates if we want to remove the tracking schedule from all the trackers which belong to the company or only the ones which currently have the tracking schedule set.\nIf the action is completed, it returns the updated company.\n","tags":["Company"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"all","description":"Remove the tracking schedule from all the trackers in the company or only the ones which have the tracking schedule set.","schema":{"type":"boolean","default":false},"required":false}],"responses":{"200":{"description":"Returns the updated company.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}},"400":{"description":"Incorrect or missing parameters in the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Schedule oid is missing":{"value":{"error":400,"err_code":413,"msg":"schedule_oid can not be missing."}}}}}},"403":{"description":"You cannot update this company or remove the schedule. You don't have enough permissions to complete this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User does not have permissions to update the company":{"value":{"msg":"You cannot update the company.","error":403,"err_code":9902}},"User does not have permissions to remove the schedule":{"value":{"msg":"You cannot remove the schedule.","error":403,"err_code":9902}}}}}},"404":{"description":"Company or schedule not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company not found":{"value":{"msg":"Company oid not found","error":404,"err_code":10003}},"Schedule not found":{"value":{"msg":"schedule_oid not found","error":404,"err_code":801}}}}}},"415":{"description":"This error is shown when the company OID string has not a valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID string has not valid UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/companies/{oid}/set-tracking-schedule":{"post":{"summary":"Set a tracking schedule to a company","description":"This endpoint allows you to set a tracking schedule to a company and theirs trackers. This feature enables you to set the tracking schedule to a single company and all theirs trackers.\nThis endpoint get the 'all' parameter, which indicates if we want to set this tracking schedule to all the trackers which belong to the company or only the ones which has not a tracking schedule.\nIf the action is completed, it returns the updated company.\n","tags":["Company"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"schedule_oid","description":"Schedule OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"all","description":"Set the tracking schedule to all the trackers in the company or only the ones which has not tracking schedule.","schema":{"type":"boolean","default":false},"required":false}],"responses":{"200":{"description":"Returns the updated company.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}},"400":{"description":"Incorrect or missing parameters in the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Schedule oid is missing":{"value":{"error":400,"err_code":413,"msg":"schedule_oid can not be missing."}}}}}},"403":{"description":"You cannot update this company or read the schedule. You don't have enough permissions to complete this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User does not have permissions to update the company":{"value":{"msg":"You cannot update the company.","error":403,"err_code":9902}},"User does not have permissions to read the schedule":{"value":{"msg":"You cannot read the schedule.","error":403,"err_code":9902}}}}}},"404":{"description":"Company or schedule not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company not found":{"value":{"msg":"Company oid not found","error":404,"err_code":10003}},"Schedule not found":{"value":{"msg":"schedule_oid not found","error":404,"err_code":801}}}}}},"415":{"description":"This error is shown when the company OID or schedule OID string has not a valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}},"Schedule OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/companies/{oid}/company-address":{},"/v1/importers/{oid}/cartrackfleet":{"post":{"description":"Get a list of the trackers of a company registered in Cartrack and associated with your credentials. You can choose between getting all the trackers or only those not registered in our system.","summary":"Get a list of Cartrack registered trackers on Cartrack API of a company.","tags":["Data importers"],"security":[{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"}},{"in":"query","name":"all","description":"Boolean parameter that specifies whether the returned list includes all the trackers registered in Cartrack associated with your credentials, or only the Cartrack trackers that are not registered in our system.","schema":{"type":"boolean","default":false,"example":"false/true"}}],"responses":{"200":{"description":"The endpoint returns the list of trackers registered in Cartrack and associated to your company's credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"vehicles":{"type":"array","items":{"$ref":"#/components/schemas/TrackerSchema"}},"total_vehicles":{"type":"integer"},"not_registered":{"type":"integer"}}},"examples":{"Trackers in Cartrack that are not registered in the system":{"value":{"not_registered":0,"total":3,"vehicles":[]}},"All the trackers registered in Cartrack":{"value":{"not_registered":0,"total":3,"vehicles":[{"object_id":{"make":"Peugeot","model":"tweet"},"provider":"cartrack","tracker_id":"5453LBR","type":"canbus","vehicle_type":"car"},{"object_id":{"make":"Mercedes-Benz","model":"Vito"},"provider":"cartrack","tracker_id":"4784LCV","type":"canbus","vehicle_type":"car"},{"object_id":{"make":"Peugeot","model":"3008"},"provider":"cartrack","tracker_id":"1789LCY","type":"canbus","vehicle_type":"car"}]}}}}}},"401":{"description":"The token has been already used","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"The token has been already used":{"value":{"error":401,"err_code":406,"msg":"Token has been already used","status":"error"}}}}}},"403":{"description":"Connection to Cartrack not available. This usually happens because the credential is not working.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Credential not working":{"value":{"error":403,"err_code":605,"msg":"Credential is not working.","status":"error"}}}}}},"404":{"description":"Company not found. There is not a match with what is in the database for the company OID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company not found":{"value":{"error":404,"err_code":10003,"msg":"company_oid not found.","status":"error"}}}}}}}}},"/v1/companies/{oid}/test-webhook":{},"/v1/companies/{oid}/trackers":{"get":{"summary":"Returns a list of trackers that belong to your company.","description":"This endpoint returns a list of the trackers belonging to your company. It requires the _company_oid_ as your identifier.\nBy default, the output will include all your trackers and order them by _start_date_ in ascending order.\nThe output can be further tailored with the help of the following filter and sorting options:\n  * _Validation status._ Limits the output to trackers with the selected validation status.\n  * _Active._ Limits the output to trackers which are still active.\n  * _Tracker ID._ Limits the output to one specific tracker.\n  * _Order by._ Orders the output according to the selected parameter.\n  * _Ascending/Descending._ Specifies if the ordering is ascending (from small to large values) or descending (vice versa).\n  If none or both are set to \"True\", the output will be ordered by _start_date_ in ascending order.\n  * _All._ Returns the entire output at once without pagination.\n  * _next_ and _previous_. These parameters provide the pagination functionality for browsing the returned list.\n  Upon calling this endpoint for the first time, it returns the first 10 trackers.\n  If there are more trackers, the returned file will include the parameter _next_ and/or _previous_.\n  By passing one of these parameters into a second call of the same endpoint, the next/previous 10 trackers will be returned, together with a new _next_/_previous_.\n","tags":["Companies"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"all","description":"Forces to include all trackers.","required":false,"schema":{"type":"boolean","default":false}},{"in":"query","name":"next","required":false,"schema":{"type":"string","example":null}},{"in":"query","name":"previous","required":false,"schema":{"type":"string","example":null}},{"in":"query","name":"tracker_id","required":false,"description":"Tracker ID e.g. VIN, IMEI, license plate","schema":{"type":"string","example":"6789ABC"}},{"in":"query","name":"order_by","required":false,"description":"Orders trackers by the selected parameter.","schema":{"type":"string","enum":["heartbeat","start_date","end_date","tracker_id"],"default":"start_date"}},{"in":"query","name":"filter_by","required":false,"description":"Filters trackers by their validation status.","schema":{"type":"string","enum":["connected","disconnected","error_access","error_not_available","error_revoked","pending","pending_for_data","pending_validation","wrong_tracker_id"]}},{"in":"query","description":"Includes only active trackers in the list.","name":"active","required":false,"schema":{"type":"boolean"}},{"in":"query","description":"Sorts in ascending order.","name":"ascending","required":false,"schema":{"type":"boolean"}},{"in":"query","description":"Sorts in descending order.","name":"descending","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK - List of trackers is being returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TrackerSchema"}}}}}}},"404":{"description":"Company not found within our database. Revise the provided OID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID not found":{"value":{"error":404,"err_code":10003,"msg":"not found"}}}}}},"415":{"description":"The Company OID string has to be provided in the UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID was provided in an invalid format":{"value":{"error":415,"err_code":9900,"msg":"oid: is incorrect"}}}}}}}}},"/v1/companies/{oid}/members":{},"/v1/companies/{oid}/update":{"put":{"summary":"Update company's data.","description":"This endpoint can be used to update some fields about a company. In particular, the following fields can be changed:\n\n  * name: The name of the company.\n  * CIF: Company legal identifier for taxes (Spain only).\n  * country: Country of the company.\n  * city: City of the company.\n  * postal_code: Company's zip code.\n  * fiscal_address: Legal address of the company.\n  * email: Main email address.\n  * invoicing_email: The email where invoices will be addressed to.\n  * webhook: Registered webhook where notifications will POST to.\n  * VAT: Company legal identifier for taxes (EU and other countries).\n  * language: Preferred language for notification and transaction emails.\n","tags":["Companies"],"security":[{"BearerAuth":["update"]},{"ApiKeyAuth":["update"]}],"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"cif":{"type":"string"},"country":{"type":"string"},"city":{"type":"string"},"postal_code":{"type":"string"},"fiscal_address":{"type":"string"},"email":{"type":"string"},"invoicing_email":{"type":"string"},"webhook":{"type":"string"},"vat":{"type":"string"},"language":{"type":"string"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}}},"400":{"description":"No attributes in payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"value":{"msg":"payload: is missing","error":400,"err_code":9901}}}}},"403":{"description":"You cannot update the company.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"value":{"msg":"forbidden","error":403,"err_code":9902}}}}},"404":{"description":"Company not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"value":{"msg":"oid not found","error":404,"err_code":10003}}}}},"415":{"description":"Company could not be updated because of an error in the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company oid has invalid UUID format":{"value":{"msg":"oid: is incorrect","error":415,"err_code":9900}},"Incorrect values in payload":{"value":{"msg":"The company could not be updated","error":415,"err_code":10005}}}}}}}}},"/v1/companies/{oid}/groups":{"get":{"summary":"Returns a list of the groups belonging to your company.","description":"This endpoint returns a list of the groups belonging to your company. It requires the _company_oid_ as your identifier.\n","tags":["Companies"],"security":[{"BearerAuth":["get"]},{"ApiKeyAuth":["get"]}],"parameters":[{"in":"path","name":"oid","description":"Company OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}}],"responses":{"200":{"description":"OK - List of groups is being returned.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupSchema"}}}}},"403":{"description":"No permission. You cannot read the groups of this company.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No permission to read data from this company":{"value":{"error":403,"err_code":9902,"msg":"You cannot read_groups the company"}}}}}},"404":{"description":"Company not found within our database. Revise the provided OID.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID not found":{"value":{"error":404,"err_code":10003,"msg":"not found"}}}}}},"415":{"description":"Invalid OID format. The Company OID string has to be provided in the UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company OID was provided in an invalid format":{"value":{"error":415,"err_code":9900,"msg":"oid: is incorrect"}}}}}}}}},"/v1/companies/{oid}/delete":{},"/v2/trackers/{tracker_identifier}/trips-distance-by-odometer":{"get":{"summary":"Get tracker trips by oid or tracker_id.","description":"Returns the list of trips for the given tracker with distance by odometer without geom.\n\nThe tracker can be identified using either:\n  * its internal 'oid' (UUID), or\n  * its external 'tracker_id'.\n\nYou can optionally filter the trips between 'start_date' and 'end_date'\n(inclusive). The filter is applied over the trip 'start_date'.\n","tags":["Trips"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"tracker_identifier","required":true,"schema":{"type":"string"},"description":"Tracker identifier. This can be either:\n  * the internal tracker 'oid' (UUID), or\n  * the external 'tracker_id'.\n"},{"in":"query","name":"start_date","required":false,"schema":{"type":"string","format":"date"},"description":"Start date (YYYY-MM-DD), inclusive. If not provided, no lower bound\nis applied to the trip start date.\n"},{"in":"query","name":"end_date","required":false,"schema":{"type":"string","format":"date"},"description":"End date (YYYY-MM-DD), inclusive. If not provided, no upper bound\nis applied to the trip start date.\n"}],"responses":{"200":{"description":"List of trips for the given tracker and date range.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TripOdometerSchema"}}}}},"400":{"description":"Invalid parameters (e.g. invalid date format).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}},"404":{"description":"Tracker not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}}}}},"/v1/trackers/{oid}/remove-tracking-schedule":{"delete":{"summary":"Remove the tracking schedule from a tracker","description":"This endpoint removes the tracking schedule from a specific tracker by clearing the `schedule_oid` field.\n\nIf the action is completed, it returns the updated tracker.\n","tags":["Trackers"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Tracker OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}}],"responses":{"200":{"description":"Returns the updated tracker with the schedule removed.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerSchema"}}}},"403":{"description":"You do not have permission to update this tracker.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User does not have permissions to update the tracker":{"value":{"msg":"You cannot update the tracker.","error":403,"err_code":9902}}}}}},"404":{"description":"Tracker not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Tracker not found":{"value":{"msg":"Tracker oid not found","error":404,"err_code":10003}}}}}}}}},"/v1/trackers/{oid}/set-tracking-schedule":{"post":{"summary":"Set a tracking schedule to a tracker","description":"This endpoint allows you to set a tracking schedule to a tracker. This feature enables you to set the tracking schedule to a single tracker.\n\nIf the action is completed, it returns the updated tracker.\n","tags":["Trackers"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Tracker OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"schedule_oid","description":"Schedule OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}}],"responses":{"200":{"description":"Returns the updated tracker.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerSchema"}}}},"400":{"description":"Incorrect or missing parameters in the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Schedule oid is missing":{"value":{"error":400,"err_code":413,"msg":"schedule_oid can not be missing."}}}}}},"403":{"description":"You cannot update this tracker or read the schedule. You don't have enough permissions to complete this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User does not have permissions to update the tracker":{"value":{"msg":"You cannot update the tracker.","error":403,"err_code":9902}},"User does not have permissions to read the schedule":{"value":{"msg":"You cannot read the schedule.","error":403,"err_code":9902}}}}}},"404":{"description":"Tracker or schedule not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Tracker not found":{"value":{"msg":"Tracker oid not found","error":404,"err_code":10003}},"Schedule not found":{"value":{"msg":"schedule_oid not found","error":404,"err_code":801}}}}}},"415":{"description":"This error is shown when the tracker OID or schedule OID string has not a valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Tracker OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}},"Schedule OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v2/trackers/{tracker_identifier}/last-events":{},"/v1/trackers/{oid}/update":{"put":{"summary":"Updates tracker attributes.","description":"This endpoint allows you to update the *object_id*, the *tracker_id*, the *vehicle_type* and the *type* of the specified tracker.\nAt least one of these attributes has to be specified in the request body.\n  * *object_id*: attribute which contains the vehicle's make and model associated with the tracker.\n  * *tracker_id*: attribute used to identify the tracker. This is a critical parameter because it links the tracker to its data provider.\n\n    If the tracker_id was not specified correctly during the registration procedure, the validation status of the tracker will be **wrong_tracker_id**. To rectify this issue,\n    use this endpoint to provide a new tracker_id. This will restart the verification process within the data provider system. If the new verification is successful,\n    the validation status will be moved to **pending**. Once the validation_status is **pending**, one can proceed with the clearance procedure using the /trackers/validate endpoint.\n","tags":["Trackers"],"security":[{"BearerAuth":["update"]},{"ApiKeyAuth":["update"]}],"parameters":[{"in":"path","name":"oid","description":"Tracker OID.","required":true,"schema":{"type":"string","example":"af03a796-fa8f-4f90-9360-9d491064935d","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTracker"},"examples":{"Valid format":{"value":{"object_id":{"make":"Mercedes-Benz","model":"SLK","license_plate":"0000KKK"},"tracker_id":"W1W9106331P320573","vehicle_type":"truck","type":"canbus"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerSchema"},"examples":{"Correct process":{"value":{"end_date":null,"external_validation_data":{"odometer":1811},"heartbeat":"2022-12-23T14:02:40.000000+00:00","motorization":null,"moving":false,"object_id":{"make":"Mercedes-Benz","model":"SLK"},"oid":"af03a796-fa8f-4f90-9360-9d491064935d","position":{"latitude":42.878582,"longitude":-2.738421},"provider":"mercedes-benz","start_date":"2022-07-27T13:48:04.993116+00:00","tracker_id":"W1W9106331P320573","type":"oem","validation_status":"connected","vehicle_type":"car"}}}}}},"400":{"description":"This error is returned when the request body does not include any of the following attributes:\n  * object_id\n  * tracker_id\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Missing attributes":{"value":{"msg":"Missing attributes.","err_code":9901,"error":400,"status":"error"}}}}}},"403":{"description":"The given tracker ID is already associated with an active tracker.\nReview the provided information and use identifiers that are unique for each tracker.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"VIN tracker_id already registered":{"value":{"msg":"VIN tracker_id already registered.","error":403,"err_code":103,"status":"error"}}}}}},"404":{"description":"The given tracker OID was not found in our database. Check the provided information.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker not found":{"value":{"msg":"Tracker not found in our database.","error":404,"err_code":101,"status":"error"}}}}}},"415":{"description":"This error is shown when the tracker OID has no valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker OID string has no valid UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900,"status":"error"}}}}}}}}},"/v1/trackers/{oid}/delete":{"delete":{"summary":"Deletes or disconnects a tracker.","description":"This endpoint deletes or disconnects a tracker.\n\nWhen a tracker is requested to be deleted there are two aspects to be considered:\nThe connectivity of the tracker and the historical data which we already obtained.\n\nIn the case of trackers that have not reached the status **connected** and hence do not have any historical data associated,\nthis endpoint simply deletes the trackers.\nIn the case of trackers that have already been successfully connected, the connectivity of the tracker will be removed by\nupdating their connectivity status to **disconnected**. All the historical data will remain accessible for the owner.\n","tags":["Trackers"],"security":[{"BearerAuth":["delete"]},{"ApiKeyAuth":["delete"]}],"parameters":[{"in":"path","name":"oid","description":"Tracker OID.","schema":{"type":"string"},"example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","required":true}],"responses":{"204":{"description":"Tracker deleted with success."},"403":{"description":"You don't have the permission to delete this tracker.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Permission denied":{"value":{"msg":"You don't have the permission to delete this tracker.","error":403,"err_code":9902}}}}}},"404":{"description":"The tracker was not found in our database.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker not found":{"value":{"msg":"tracker_id not found.","error":404,"err_code":101}}}}}},"415":{"description":"This error is shown when the tracker OID has no valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker OID string has no valid UUID format":{"value":{"msg":"oid string has no valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v2/trackers/{tracker_identifier}/health":{},"/v1/vehicle/versions/{id}":{"get":{"summary":"Retrieves a vehicle version or all vehicle versions.","description":"This endpoint allows you to retrieve details of a specific vehicle version by its ID, or all vehicle versions if `id` is set to `all`.\n\n* If `id` is set to `\"all\"`, the endpoint returns a list of all vehicle versions.\n* If a specific `id` is provided, the endpoint returns details of that particular vehicle version.\n","tags":["Vehicle Versions"],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"The unique identifier for the vehicle version.\nSet to `\"all\"` to retrieve all vehicle versions.\n"}],"responses":{"200":{"description":"OK - The requested vehicle version(s) has been retrieved successfully.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/VehicleVersionSchema"}},{"$ref":"#/components/schemas/VehicleVersionSchema"}]},"examples":{"all_versions":{"summary":"All vehicle versions","value":[{"id":1,"name":"Model A","doors":4,"transmission":"manual","engine_displacement":2000,"engine_power":150,"motorization":{"name":"ICE"},"fuel_types":[{"name":"gasoline"}],"vehicle_models_makes_id":1234},{"id":2,"name":"Model B","doors":2,"transmission":"automatic","engine_displacement":1500,"engine_power":100,"motorization":{"name":"BEV"},"fuel_types":[{"name":"gasoline"}],"vehicle_models_makes_id":5678}]},"specific_version":{"summary":"A specific vehicle version","value":{"id":1,"name":"Model A","doors":4,"transmission":"manual","engine_displacement":2000,"engine_power":150,"motorization":{"name":"ICE"},"fuel_types":[{"name":"gasoline"}],"vehicle_models_makes_id":1234}}}}}},"400":{"description":"Invalid ID - The provided ID is not valid.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"invalid_id":{"value":{"msg":"The provided ID is invalid","err_code":1000,"error":400,"status":"error"}}}}}},"404":{"description":"Not Found - The requested vehicle version ID does not exist.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"example":{"vehicle_version_not_found":{"value":{"msg":"Vehicle version with ID 123 not found","err_code":1001,"error":404,"status":"error"}}}}}},"500":{"description":"Internal Server Error - An error occurred while processing the request.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"server_error":{"value":{"msg":"An error occurred while retrieving the vehicle version(s)","err_code":500,"error":500,"status":"error"}}}}}}}}},"/v1/groups/{oid}/remove-tracking-schedule":{"delete":{"summary":"Remove a tracking schedule from a group","description":"This endpoint allows you to remove a tracking schedule from a group and all their trackers. This feature enables you to unset the tracking schedule for a single group and all their trackers.\nThis endpoint gets the 'all' parameter, which indicates if we want to remove the tracking schedule from all the trackers which belong to the group or only the ones which currently have the tracking schedule set.\nIf the action is completed, it returns the updated group.\n","tags":["Groups"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"all","description":"Remove the tracking schedule from all the trackers in the group or only the ones which have the tracking schedule set.","schema":{"type":"boolean","default":false},"required":false}],"responses":{"200":{"description":"Returns the updated group.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSchema"}}}},"400":{"description":"Incorrect or missing parameters in the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Schedule oid is missing":{"value":{"error":400,"err_code":413,"msg":"schedule_oid can not be missing."}}}}}},"403":{"description":"You cannot update this group or remove the schedule. You don't have enough permissions to complete this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User does not have permissions to update the group":{"value":{"msg":"You cannot update the group.","error":403,"err_code":9902}},"User does not have permissions to remove the schedule":{"value":{"msg":"You cannot remove the schedule.","error":403,"err_code":9902}}}}}},"404":{"description":"Group or schedule not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"msg":"Group oid not found","error":404,"err_code":10003}},"Schedule not found":{"value":{"msg":"schedule_oid not found","error":404,"err_code":801}}}}}},"415":{"description":"This error is shown when the group OID string has not a valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group OID string has not valid UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/groups/{oid}/set-tracking-schedule":{"post":{"summary":"Set a tracking schedule to a group","description":"This endpoint allows you to set a tracking schedule to a group and theirs trackers. This feature enables you to set the tracking schedule to a single group and all theirs trackers.\nThis endpoint get the 'all' parameter, which indicates if we want to set this tracking schedule to all the trackers which belong to the group or only the ones which has not a tracking schedule.\nIf the action is completed, it returns the updated group.\n","tags":["Groups"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"schedule_oid","description":"Schedule OID.","required":true,"schema":{"type":"string","example":"95e9fca3-394c-4489-8261-6e66912df541","format":"uuid"}},{"in":"query","name":"all","description":"Set the tracking schedule to all the trackers in the group or only the ones which has not tracking schedule.","schema":{"type":"boolean","default":false},"required":false}],"responses":{"200":{"description":"Returns the updated group.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSchema"}}}},"400":{"description":"Incorrect or missing parameters in the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Schedule oid is missing":{"value":{"error":400,"err_code":413,"msg":"schedule_oid can not be missing."}}}}}},"403":{"description":"You cannot update this group or read the schedule. You don't have enough permissions to complete this action.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"User does not have permissions to update the group":{"value":{"msg":"You cannot update the group.","error":403,"err_code":9902}},"User does not have permissions to read the schedule":{"value":{"msg":"You cannot read the schedule.","error":403,"err_code":9902}}}}}},"404":{"description":"Group or schedule not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"msg":"Group oid not found","error":404,"err_code":10003}},"Schedule not found":{"value":{"msg":"schedule_oid not found","error":404,"err_code":801}}}}}},"415":{"description":"This error is shown when the group OID or schedule OID string has not a valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}},"Schedule OID string has not valide UUID format":{"value":{"msg":"oid string has not valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/groups/{oid}/trackers":{"get":{"summary":"Returns a list of trackers related to the group.","description":"Returns a list of trackers related to the group.\n\nYou can filter trackers by the following statuses:\n\n * connected,\n * disconnected,\n * error_access,\n * error_not_available,\n * error_revoked,\n * pending,\n * pending_for_data,\n * pending_validation,\n * wrong_tracker_id\n\nYou can order the trackers using the following groups:\n\n * heartbeat,\n * start_date,\n * end_date,\n * tracker_id\n\nThe endpoint also supports the `next` and `previous` attributes to go to the next and previous pages if they exist.\n\nYou can also query only those trackers that are active. Or you can use the `all` parameter to get all the trackers, which means all the trackers in any possible state.\n","tags":["Groups"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}},{"in":"query","name":"next","schema":{"type":"string"}},{"in":"query","name":"previous","schema":{"type":"string"}},{"in":"query","name":"tracker_id","schema":{"type":"string"}},{"in":"query","name":"order_by","schema":{"type":"string","enum":["heartbeat","start_date","end_date","tracker_id"]}},{"in":"query","name":"filter_by","schema":{"type":"string","enum":["connected","disconnected","error_access","error_not_available","error_revoked","pending","pending_for_data","pending_validation","wrong_tracker_id"]}},{"in":"query","name":"active","schema":{"type":"boolean"}},{"in":"query","name":"ascending","schema":{"type":"boolean"}},{"in":"query","name":"descending","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Gets list of trackers related to the group","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Trackers"}},"examples":{"Query with no parameters":{"value":{"data":[{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-25T09:57:14.346637+00:00","motorization":"None","moving":false,"object_id":{"foo":1},"oid":"3ace00c9-736a-4d03-a5ee-ee76747e3a07","provider":"provider","start_date":"2022-10-25T09:57:14.346599+00:00","tracker_id":"cartrack","type":"obd","validation_status":"pending","vehicle_type":"car"}],"pagination":{"next":"None","previous":"None","total":1}}},"Query with parameter 'next'":{"value":{"data":[{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-03T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":9},"oid":"0c3bb271-9c46-4c07-963e-9b3b908021f3","provider":"provider","start_date":"2022-10-25T10:01:39.752370+00:00","tracker_id":"cartrack9","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-02T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":8},"oid":"4d4cb7ac-07a6-49ca-a7dc-18a396f564ea","provider":"provider","start_date":"2022-10-25T10:01:39.726890+00:00","tracker_id":"cartrack8","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-01T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":7},"oid":"2fa3ce08-5ee4-4fa5-9e5b-d37317e6ba19","provider":"provider","start_date":"2022-10-25T10:01:39.699549+00:00","tracker_id":"cartrack7","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-31T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":6},"oid":"7a36f290-7021-46ba-b66a-fb8e1a318ecb","provider":"provider","start_date":"2022-10-25T10:01:39.668984+00:00","tracker_id":"cartrack6","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-30T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":5},"oid":"e7bb376e-b0a7-43c7-be4f-0db2807190b7","provider":"provider","start_date":"2022-10-25T10:01:39.643273+00:00","tracker_id":"cartrack5","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-29T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":4},"oid":"7f103adf-1255-428d-b09c-39ed29647a06","provider":"provider","start_date":"2022-10-25T10:01:39.618048+00:00","tracker_id":"cartrack4","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-28T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":3},"oid":"007dff9a-69d2-413a-a132-04fe2e9a7960","provider":"provider","start_date":"2022-10-25T10:01:39.592332+00:00","tracker_id":"cartrack3","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-27T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":2},"oid":"71aa8f62-8482-48e3-a9a0-301955f7ec9f","provider":"provider","start_date":"2022-10-25T10:01:39.566149+00:00","tracker_id":"cartrack2","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-26T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":1},"oid":"15c64144-0036-4918-a600-7826d4e59392","provider":"provider","start_date":"2022-10-25T10:01:39.538769+00:00","tracker_id":"cartrack1","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-25T10:01:39.475635+00:00","motorization":"None","moving":false,"object_id":{"foo":0},"oid":"7940ea45-2c3e-44cc-b260-16eb029ebad4","provider":"provider","start_date":"2022-10-25T10:01:39.487340+00:00","tracker_id":"cartrack0","type":"obd","validation_status":"connected","vehicle_type":"car"}],"pagination":{"next":"None","previous":"<dt:2022-10-25 10:01:39.752370~s:0c3bb271-9c46-4c07-963e-9b3b908021f3","total":20}}},"Query with parameter order_by 'heartbeat' and ascending 'true'":{"value":{"data":[{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-25T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":0},"oid":"c40c1217-0ac8-4bff-a204-f9e53d4baf93","provider":"provider","start_date":"2022-10-25T10:15:24.511538+00:00","tracker_id":"cartrack0","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-26T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":1},"oid":"c106e923-a32e-4d23-8a95-3f22698e8f69","provider":"provider","start_date":"2022-10-25T10:15:24.561740+00:00","tracker_id":"cartrack1","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-27T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":2},"oid":"12c756d2-f575-4631-b2b9-d68dbeb8dda0","provider":"provider","start_date":"2022-10-25T10:15:24.587680+00:00","tracker_id":"cartrack2","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-28T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":3},"oid":"8382adbe-e08a-4c14-9e95-7bf0a95704bd","provider":"provider","start_date":"2022-10-25T10:15:24.613441+00:00","tracker_id":"cartrack3","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-29T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":4},"oid":"b4e316ab-78bd-4d0f-82b8-bec6d94541b1","provider":"provider","start_date":"2022-10-25T10:15:24.638463+00:00","tracker_id":"cartrack4","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-30T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":5},"oid":"e61cabef-730b-41a3-9334-8fa6e91091c8","provider":"provider","start_date":"2022-10-25T10:15:24.664056+00:00","tracker_id":"cartrack5","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-31T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":6},"oid":"0d530fd2-8552-4708-a6a7-4f73f8044b73","provider":"provider","start_date":"2022-10-25T10:15:24.690648+00:00","tracker_id":"cartrack6","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-01T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":7},"oid":"167ce229-9c29-41f3-9643-edd8c3e52a5e","provider":"provider","start_date":"2022-10-25T10:15:24.715698+00:00","tracker_id":"cartrack7","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-02T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":8},"oid":"f9764414-24ea-4a62-ab4f-ec2b23247dcf","provider":"provider","start_date":"2022-10-25T10:15:24.740086+00:00","tracker_id":"cartrack8","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-03T10:15:24.500094+00:00","motorization":"None","moving":false,"object_id":{"foo":9},"oid":"2b1a57e9-a731-4030-be64-1324b149e1a1","provider":"provider","start_date":"2022-10-25T10:15:24.763937+00:00","tracker_id":"cartrack9","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"}],"pagination":{"next":">dt:2022-11-03 10:15:24.500094+00:00~s:2b1a57e9-a731-4030-be64-1324b149e1a1","previous":"None","total":20}}},"Query with parameter all 'true'":{"value":{"data":[{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-13T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":19},"oid":"45456671-7d3c-4581-807e-1b6240bedca7","provider":"provider","start_date":"2022-10-25T10:17:52.774550+00:00","tracker_id":"BC19","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-12T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":18},"oid":"bc18df4c-5abf-4bd9-a529-00ea30c4accc","provider":"provider","start_date":"2022-10-25T10:17:52.745675+00:00","tracker_id":"CVB18","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-11T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":17},"oid":"df0c75b6-efd6-4038-ac73-3751a7634bce","provider":"provider","start_date":"2022-10-25T10:17:52.721721+00:00","tracker_id":"QQW17","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-10T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":16},"oid":"bb596f3d-a259-4274-b787-fd5951da64fa","provider":"provider","start_date":"2022-10-25T10:17:52.697370+00:00","tracker_id":"ERER16","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-09T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":15},"oid":"08d6ef72-4bf0-42a4-b1fc-c12c848a94e8","provider":"provider","start_date":"2022-10-25T10:17:52.673658+00:00","tracker_id":"BDCS15","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-08T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":14},"oid":"5556e6e2-6340-4908-8be1-8ecd4e4f976d","provider":"provider","start_date":"2022-10-25T10:17:52.649734+00:00","tracker_id":"WERR14","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-07T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":13},"oid":"079f55ec-e3ea-4b26-8fb8-fc3cdcc084dd","provider":"provider","start_date":"2022-10-25T10:17:52.625878+00:00","tracker_id":"BBDXX13","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-06T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":12},"oid":"01542b8d-bb24-40e3-86a8-fbe85f7c656e","provider":"provider","start_date":"2022-10-25T10:17:52.600747+00:00","tracker_id":"CBBX12","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-05T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":11},"oid":"80a4d02f-f4d0-4c06-8340-786dbf309ee5","provider":"provider","start_date":"2022-10-25T10:17:52.576696+00:00","tracker_id":"CBBD11","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-04T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":10},"oid":"10b032be-9f67-4f26-b83c-a7c9f6074b70","provider":"provider","start_date":"2022-10-25T10:17:52.551238+00:00","tracker_id":"cartrack10","type":"obd","validation_status":"pending","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-03T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":9},"oid":"3657e6e8-49ef-4aa6-a21c-2aeee2e5287f","provider":"provider","start_date":"2022-10-25T10:17:52.526264+00:00","tracker_id":"cartrack9","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-02T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":8},"oid":"989ee527-4478-43c2-8fe0-c38ca7a0a2eb","provider":"provider","start_date":"2022-10-25T10:17:52.501221+00:00","tracker_id":"cartrack8","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-11-01T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":7},"oid":"2db453d0-0cce-49ba-9ebc-82916d26401c","provider":"provider","start_date":"2022-10-25T10:17:52.476408+00:00","tracker_id":"cartrack7","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-31T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":6},"oid":"18a3aee6-ae83-4483-928f-23c2e59810b9","provider":"provider","start_date":"2022-10-25T10:17:52.451368+00:00","tracker_id":"cartrack6","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-30T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":5},"oid":"4d3e2827-3d43-40c3-94ae-0ce0d255db45","provider":"provider","start_date":"2022-10-25T10:17:52.425520+00:00","tracker_id":"cartrack5","type":"obd","validation_status":"pending_for_data","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-29T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":4},"oid":"b20a45e1-0cf7-4ccf-9c17-2f7fb063d905","provider":"provider","start_date":"2022-10-25T10:17:52.399023+00:00","tracker_id":"cartrack4","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-28T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":3},"oid":"fffc2430-cbef-4c21-bb03-068bcc0907ae","provider":"provider","start_date":"2022-10-25T10:17:52.372911+00:00","tracker_id":"cartrack3","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-27T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":2},"oid":"ecbb1f86-710f-4e7b-8e88-b5985ec7cc61","provider":"provider","start_date":"2022-10-25T10:17:52.346153+00:00","tracker_id":"cartrack2","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-26T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":1},"oid":"7935a5c5-b7ef-4930-acd4-3263ace0f59f","provider":"provider","start_date":"2022-10-25T10:17:52.320406+00:00","tracker_id":"cartrack1","type":"obd","validation_status":"connected","vehicle_type":"car"},{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-25T10:17:52.261451+00:00","motorization":"None","moving":false,"object_id":{"foo":0},"oid":"66beda48-0f1f-499f-9b9d-1528f723ca46","provider":"provider","start_date":"2022-10-25T10:17:52.272731+00:00","tracker_id":"cartrack0","type":"obd","validation_status":"connected","vehicle_type":"car"}]}},"Query with parameter tracker_id":{"value":{"data":[{"end_date":"None","external_validation_data":"None","heartbeat":"2022-10-25T10:23:44.422486+00:00","motorization":"None","moving":false,"object_id":{"foo":0},"oid":"dc101e7d-594e-4c0e-9550-027e8cbc233b","provider":"provider","start_date":"2022-10-25T10:23:44.434040+00:00","tracker_id":"cartrack0","type":"obd","validation_status":"connected","vehicle_type":"car"}],"pagination":{"next":"None","previous":"None","total":1}}}}}}},"403":{"description":"You cannot read data of the group. This error is thrown when you don't have the necessary permissions assigned to read data of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to read data of the group":{"value":{"error":403,"msg":"You cannot read the group.","err_code":9902}}}}}},"404":{"description":"Group not found. The system could not find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}}}}},"/v1/groups/{oid}/members":{},"/v1/groups/{oid}/update":{"put":{"summary":"Updates an existing group.","description":"Updates any property of a group by its group OID. You can update:\n  * name: string parameter which identifies the group\n  * slug: unique, human-readable identifier, alphanumeric character string without special characters or spaces.\n  * company_oid: OID of the company at which the group belongs\n  * webhook: url pointing to the group's webhook\n  * email: email address to which notifications are sent\n","tags":["Groups"],"security":[{"BearerAuth":["update"]},{"ApiKeyAuth":["update"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"type":"string"},"slug":{"type":"string"},"company_oid":{"type":"string"},"webhook":{"type":"string"},"email":{"type":"string"}}},"examples":{"Valid data":{"value":{"name":"ACME admin","slug":"acme admin"}}}}}},"responses":{"200":{"description":"The group has been successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSchema"},"examples":{"Correct proccess":{"value":{"company":{"cif":"None","city":"None","country":"None","created_at":"2022-10-25T06:09:04.200988+00:00","delete_at_period_end":false,"deleted":false,"email":"None","fiscal_address":"None","has_accepted_contract":true,"has_accepted_privacy_policy":true,"has_accepted_terms_of_service":true,"has_apikey":false,"invoicing_email":"None","language":"es-ES","name":"Company 0","oid":"45981ee1-fa2c-44a4-838b-d74c64e2c354","owner_oid":"8a29bf6f-3cc3-4254-b615-c447da849c12","phone":"None","postal_code":"None","slug":"slug0","update_at":"2022-10-25T06:09:04.200988+00:00","vat":"None","webhook":"None"},"description":"None","email":"org0@1234","name":"ACME admin","oid":"92300a31-029c-4dee-bb0b-5bd1cfe42d8a","slug":"acme admin","webhook":"None"}}}}}},"400":{"description":"An group already exists with the selected slug.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Slug not unique":{"value":{"error":400,"msg":"slug not unique.","err_code":501}}}}}},"403":{"description":"You cannot update the group. This error is thrown when you don't have the necessary permissions assigned to update a group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to update the group":{"value":{"error":403,"msg":"You cannot update the group.","err_code":9902}}}}}},"404":{"description":"Group not found. The system could find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Group not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}}}}},"/v1/groups/{oid}/delete":{"delete":{"summary":"Deletes a group by its OID.","description":"This endpoint allows you to remove a group from the system.\n","tags":["Groups"],"security":[{"BearerAuth":["delete"]},{"ApiKeyAuth":["delete"]}],"parameters":[{"in":"path","name":"oid","description":"Group OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"responses":{"204":{"description":"The group has been successfully deleted."},"403":{"description":"You cannot delete the group. This error is thrown when you don't have the necessary permissions assigned to delete a group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not allowed to delete the group":{"value":{"error":403,"msg":"You cannot delete the group.","err_code":9902}}}}}},"404":{"description":"Group not found. The system could not find a group for the provided oid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Company not found":{"value":{"error":404,"err_code":500,"msg":"group_oid not found."}}}}}},"415":{"description":"Group OID string has not a valid UUID format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"Not valid UUID format":{"value":{"error":415,"err_code":9901,"msg":"oid: is incorrect."}}}}}},"500":{"description":"The group could not be deleted due to a problem when performing the action on our side. Please, contact us so we can address this issue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"The group could not be deleted":{"value":{"msg":"Group could not be deleted.","error":500,"err_code":503}},"The group users could not be deleted":{"value":{"msg":"Group User roles could not be deleted.","error":500,"err_code":504}}}}}}}}},"/v1/assets/{asset_oid}/update":{"post":{"summary":"Updates an existing asset.","description":"This endpoint allows you to update an existing asset by its oid.\nYou can update the following fields:\n\n  * id: The unique ID of the asset, For vehicles is the VIN.\n  * license_plate: The license plate of the asset if is a vehicle.\n  * model_year: The year of the vehicle model.\n  * tank_size: The size of the fuel tank in liters for vehicles.\n  * color: Color of the asset (as an enum value).\n  * alias: A friendly name for the asset.\n  * battery_size: Integer with the battery size expressed in kWh for electric vehicles.\n  * external_validation_data: Json with external validation id to extract information from provider. Eg. value with which to extract the information in Cartrack provider.\n  * version_id: The ID of the associated vehicle version.\n  * status: The asset status, available values are draft, processed, active and inactive.\n  * registration_country(required): registration country code of the vehicle, it must be in format  ISO 3166-1 alpha-3.\n  * registration_date: The asset's registration  date.\n","tags":["Assets"],"security":[{"BearerAuth":["write"]},{"ApiKeyAuth":["write"]}],"parameters":[{"in":"path","name":"asset_oid","description":"Asset OID.","required":true,"schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSchema"},"examples":{"default":{"summary":"Basic asset update.","value":{"id":"550e8400-e29b-41d4-a716-446655440000","license_plate":"ABC-1234","model_year":2020,"tank_size":50,"color":"blue","alias":"My Car","image_id":42,"battery_size":70,"external_validation_data":{"external_id":"ABC-1234"},"version_id":123,"status":"draft","registration_country":"ITA","registration_date":"2024-01-01"}}}}}},"responses":{"200":{"description":"The asset was created successfully.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSchema"}}}},"400":{"description":"Missing or invalid required parameters.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"missing_id":{"value":{"msg":"oid: is missing","err_code":9901,"error":400,"status":"error"}}}}}},"403":{"description":"You cannot update the asset. This error is thrown when you don't have the necessary permissions assigned to update an asset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No allow to update the asset":{"value":{"error":403,"msg":"You cannot update the asset.","err_code":9902}}}}}},"404":{"description":"Asset not found.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Asset not found"},"status":{"type":"string","example":"error"}}}}}},"415":{"description":"Incorrect data format in the request body.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"}}}}}}},"/v1/assets/{oid}/delete":{"delete":{"tags":["Assets"],"summary":"Delete an asset by its oid.","description":"This endpoint allows you to remove an asset when you do not need it anymore.\n","security":[{"BearerAuth":["delete"]},{"ApiKeyAuth":["delete"]}],"parameters":[{"in":"path","name":"oid","description":"Asset OID.","required":true,"schema":{"type":"string","example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","format":"uuid"}}],"responses":{"204":{"description":"The asset has been successfully deleted."},"403":{"description":"You cannot delete the asset. This error is thrown when you don't have the necessary permissions assigned to delete an asset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"No allow to delete the asset":{"value":{"error":403,"msg":"You cannot delete the asset.","err_code":9902}}}}}},"404":{"description":"Asset not found.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Asset not found"},"status":{"type":"string","example":"error"}}}}}}}}},"/v1/links/tracker-inside-geofence-for-more-than-n-minutes/{oid}":{},"/v1/links/tracker-inactive-for-more-than-7-days/{oid}":{},"/v1/links/tracker-property-equal-boolean-value/{oid}":{},"/v1/links/tracker-is-moving-within-a-schedule/{oid}":{},"/v1/links/tracker-odometer-greater-than-n-km/{oid}":{},"/v1/links/tracker-travels-more-than-n-km/{oid}":{},"/v1/links/tracker-property-min-value/{oid}":{},"/v1/links/tracker-property-max-value/{oid}":{},"/v1/links/tracker-outside-geofence/{oid}":{},"/v1/links/maintenance-notification/{oid}":{},"/v1/links/tracker-inside-geofence/{oid}":{},"/v1/links/tracker-close-to-poi/{oid}":{},"/v1/links/engine-blocked-event/{oid}":{},"/v1/links/device-disconnected/{oid}":{},"/v1/links/towing-event/{oid}":{},"/v1/links/crash-event/{oid}":{},"/v1/users/validate/{token}":{},"/v1/users/{oid}/dashboard":{},"/v1/users/{oid}/update":{},"/v1/pois/{oid}/delete":{"delete":{"summary":"Deletes a POI.","description":"This endpoints deletes the POI (Point of Interest) with the given OID.","tags":["POIs"],"security":[{"BearerAuth":["delete"]},{"ApiKeyAuth":["delete"]}],"parameters":[{"in":"path","name":"oid","description":"POI OID.","schema":{"type":"string"},"example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","required":true}],"responses":{"204":{"description":"POI deleted with success."},"403":{"description":"You cannot delete the POI as you do not have enough permissions, or it belongs to a company or group you don't have access to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"You cannot delete the POI":{"value":{"error":403,"msg":"You cannot delete the POI","http_code":403,"err_code":9902}}}}}},"404":{"description":"POI not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Exception"},"examples":{"POI not found":{"value":{"error":404,"msg":"oid not found","http_code":404,"err_code":801}}}}}}}}},"/v1/feature_roles/{company_oid}":{},"/v1/trackers/{oid}/":{"get":{"summary":"Retrieves basic information about a specific tracker.","description":"This endpoint returns a number of parameters associated with a given tracker identifier (tracker_oid).\nThe following parameters will be returned:\n\n * oid - The tracker's unique internal identifier.\n * tracker_id - The tracker_id is the tracker's unique identifier e.g. VIN, IMEI, license plate number...\n   The format of this value depends of the provider of your tracker:\n     * Option 1: for the HTML5 importer the tracker IDs can be customized. It is up to the owner to specify an identifier.\n     * Option 2: for the regular data providers this is defined by each provider, as specified in the following list:\n       * Mercedes-Benz: VIN\n       * Cartrack: VIN or license plate\n       * BMW: VIN\n * object_id - The object_id is a dictionary that contains information about the identity of the tracked object, such as the VIN or the license plate number.\n * provider - The provider of the tracker, e.g. Mercedes-Benz, BMW...\n * type - The tracker type, e.g. OEM, OBD, ...\n * vehicle_type - The vehicle type, e.g. car, van, motorcycle...\n * start_date - The date when the tracker was registered on the platform.\n * end_date - The date when the tracker was deregistered on the platform.\n * moving - Boolean parameter that specifies if the tracker is currently in movement.\n * heartbeat - Timestamp of the trackers' latest data.\n * validation_status - Tracker's current status within the validation chain. For example: pending, pending validation, error_access, connected.\n * external_validation_data - An optional parameter which contains validation information from third-party data providers.\n * foreign_tracker_id - The identity of the tracker on a third-party data provider platform.\n * company_oid - The unique identifier of the company to which the tracker belongs.\n * motorization - An optional parameter which specifies the motorization of the vehicle in which the tracker is installed. Options include gasoline, diesel, electric, hydrogen, PHEV and others.\n * position - The coordinates in WGS84-format of the last position received from the tracker.\n * properties - A dictionary containing a key-value pair for each tracker property. For each property name (key), it contains a sub-dictionary (value), containing the last received reading and the associated timestamp. For properties with no associated value it will be set to None.\n","tags":["Trackers"],"security":[{"BearerAuth":["read"]},{"ApiKeyAuth":["read"]}],"parameters":[{"in":"path","name":"oid","description":"Tracker OID.","schema":{"type":"string"},"example":"cfd9e3bb-1158-40ab-b83f-4146d9e33447","required":true},{"in":"query","name":"property_info","description":"Return the description, possible values, unit and UN/CEFACT Common Code for each property.","schema":{"type":"boolean","default":true},"required":false}],"responses":{"200":{"description":"OK - Response that contains the accessible information about a given tracker.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackerSchema"},"examples":{"Tracker data plain text":{"value":{"end_date":null,"external_validation_data":{"odometer":"1831"},"heartbeat":"2022-01-01T00:00:00.00000+00:00","motorization":null,"moving":false,"object_id":{"document":"0000XXX-2022.jpg","license_plate":"0000XXX","make":"Mercedes-Benz","model":"eVito","odometerLastRead":"11795","odometerLastReadings":[{"kms":"1831","ts":"2022-01-01T00:00:00.00000+00:00"}],"vin":"W1V00000000000000"},"oid":"71e2684b-66f5-46a3-b12b-33710a094bbb","position":{"latitude":40.464092,"longitude":-3.685438},"properties":{"altitude":{"property_info":{"data_type":"float"}},"battery":{"property_info":{"data_type":"float"},"ts":"2023-03-31T18:03:48.000000+00:00","value":43},"behaviour.distance.electric":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the electrical driven distance since start operative, at the time of data collection.","unit":"km"}},"behaviour.distance.electricReset":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the electrical driven distance, since an specific reset point, at the time of data collection.","unit":"km"}},"behaviour.distance.fuel":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the fuel driven distance, since start operative, at the time of data collection.","unit":"km"}},"behaviour.distance.fuelReset":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the fuel driven distance, since an specific reset point, at the time of data collection.","unit":"km"}},"behaviour.distance.zeroEmissions":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the zero emission distance, since start operative, at the time of data collection.","unit":"km"}},"behaviour.distance.zeroEmissionsReset":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the zero emission distance, since an specific reset point, at the time of data collection.","unit":"km"}},"behaviour.score.acceleration":{"property_info":{"code":"P1","data_type":"float","description":"This value indicates the ECOscore rating for acceleration at the time of data collection.","unit":"%"}},"behaviour.score.constancy":{"property_info":{"code":"P1","data_type":"float","description":"This value indicates the ECOscore rating for constancy driving behaviour at the time of data collection.","unit":"%"}},"behaviour.score.freewheel":{"property_info":{"code":"P1","data_type":"float","description":"This value indicates the ECOscore rating for free wheeling at the time of data collection.","unit":"%"}},"behaviour.score.range":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the bonus range(km) achieved from the ECOscore rating at the time of data collection.","unit":"km"}},"behaviour.seatbelt.frontLeft":{"property_info":{"data_type":"boolean","description":"This value indicates whether the front left seat belt was buckled up at the time of data collection.","values":{"0":"not buckled up","1":"buckled up"}}},"behaviour.speed.average":{"property_info":{"code":"KMH","data_type":"float","description":"This value indicates the average speed, since start operative, at the time of data collection.","unit":"km/h"}},"behaviour.speed.averageReset":{"property_info":{"code":"KMH","data_type":"float","description":"This value indicates the average speed, since an specific reset point, at the time of data collection.","unit":"km/h"}},"behaviour.speed.current":{"property_info":{"code":"KMH","data_type":"float","description":"The value indicates the current vehicle speed (km/h) at the time of data collection.","unit":"km/h"}},"behaviour.time.driving":{"property_info":{"code":"MIN","data_type":"integer","description":"This value indicates the driven time(min.), since start operative, at the time of data collection.","unit":"min"}},"behaviour.time.drivingReset":{"property_info":{"code":"MIN","data_type":"integer","description":"This value indicates the driven time(min.), since an specific reset point, at the time of data collection.","unit":"min"}},"behaviour.time.zeroEmissions":{"property_info":{"code":"MIN","data_type":"integer","description":"This value indicates the zero emission time(min.), since start operative, at the time of data collection.","unit":"min"}},"behaviour.time.zeroEmissionsReset":{"property_info":{"code":"MIN","data_type":"integer","description":"This value indicates the zero emission time(min.), since an specific reset point, at the time of data collection.","unit":"min"}},"charging.amperage.current":{"property_info":{"code":"AMP","data_type":"float","description":"The charging amperage indicates the electrical current into a device in A(amps) during the charging process at the time of the data collection.","unit":"A"}},"charging.plugged":{"property_info":{"data_type":"boolean","description":"The value indicates if the battery is plugged at the time of the data collection.","values":{"0":"unplugged","1":"plugged"}},"ts":"2023-07-04T02:50:49.000000+00:00","value":0},"charging.power.current":{"property_info":{"code":"KWT","data_type":"float","description":"The value indicates the electrical charging power in kW at the time of the data collection.","unit":"kW"}},"charging.preconditioning.remaining":{"property_info":{"code":"MIN","data_type":"float","description":"The value indicates the remaining time of the preconditioning to continue running.","unit":"min"}},"charging.preconditioning.status":{"property_info":{"data_type":"boolean","description":"The value indicates if the preconditioning charging is active.","values":{"0":"inactive","1":"active"}}},"charging.remaining.time":{"property_info":{"code":"MIN","data_type":"integer","description":"The value indicates the remaining time of completion for the vehicle's full charging process at the time of the data collection.","unit":"min"},"ts":"2023-07-03T19:09:30.000000+00:00","value":1395},"consumption":{"property_info":{"data_type":"float"},"ts":"2022-12-31T18:43:31.000000+00:00","value":0},"consumption.adBlue.percentage":{"property_info":{"code":"P1","data_type":"float","description":"The value indicates the percentage (%) of adBlue tank level at the time of data collection.","unit":"%"}},"consumption.adBlue.range":{"property_info":{"code":"KTM","data_type":"float","description":"The value indicates the remaining range of adBlue in kilometers(km) at the time of the data collection.","unit":"km"}},"consumption.electric.average":{"property_info":{"data_type":"float","description":"This value indicates the average electric consumption in kW·h/100 km at the time of data collection.","unit":"kWh/100km"},"ts":"2023-07-04T02:50:49.000000+00:00","value":0},"consumption.electric.averageReset":{"property_info":{"data_type":"float","description":"This value indicates the average electric consumption in kilowatt hours per 100 km, since an specific reset point, at the time of data collection.","unit":"kWh/100km"},"ts":"2023-07-04T02:50:49.000000+00:00","value":0},"consumption.electric.max":{"property_info":{"code":"KTM","data_type":"float","description":"The value indicates the maximum electrical range in km with the 100% SoC.","unit":"km"},"ts":"2023-07-04T03:18:40.000000+00:00","value":148},"consumption.electric.percentage":{"property_info":{"code":"P1","data_type":"float","description":"This value indicates the current State of Charge level in percent (%) at the time of data collection.","unit":"%"},"ts":"2023-07-04T02:50:49.000000+00:00","value":100},"consumption.electric.range":{"property_info":{"code":"KTM","data_type":"float","description":"The value indicates the remaining range of fuel in kilometers (km) at the time of the data collection.","unit":"km"},"ts":"2023-07-04T03:18:40.000000+00:00","value":148},"consumption.fuel.average":{"property_info":{"code":"R10","data_type":"float","description":"The value indicates the average fuel consumption in liters per 100 km at the time of data collection.","unit":"l/100km"}},"consumption.fuel.averageReset":{"property_info":{"code":"R10","data_type":"float","description":"This value indicates the average fuel consumption in liters per 100 km, since an specific reset point, at the time of data collection.","unit":"l/100km"}},"consumption.fuel.percentage":{"property_info":{"code":"P1","data_type":"float","description":"The value indicates the percentage (%) of fuel tank level at the time of data collection.","unit":"%"}},"consumption.fuel.range":{"property_info":{"code":"KTM","data_type":"float","description":"The value indicates the remaining range of fuel in kilometer (km) at the time of the data collection.","unit":"km"}},"consumption.fuel.rangeWarning":{"property_info":{"data_type":"boolean","description":"The value indicates if the remaining range of fuel is a critical state at the time of the data collection.","values":{"0":"not in critical state","1":"in critical state"}}},"consumption.fuel.tank":{"property_info":{"code":"LTR","data_type":"float","description":"The value indicates the current fuel tank level in liters (l) at the time of data collection.","unit":"l"}},"consumption.fuel.warning":{"property_info":{"data_type":"float","description":"The value indicates whether a warning for fuel level is triggered.","values":{"0":"not warning","1":"warning"}}},"device.battery.percentage":{"property_info":{"code":"P1","data_type":"float","description":"The value represents the percent of battery level of the device at the time of the data collection.","unit":"%"}},"device.battery.voltage":{"property_info":{"code":"VLT","data_type":"float","description":"The value indicates the current battery voltage(V) of the device at the time of the data collection.","unit":"V"}},"device.gps.odometer":{"property_info":{"code":"KTM","data_type":"float","description":"The value represents the calculated vehicle odometer based on GPS coordinates.","unit":"km"}},"device.gps.speed":{"property_info":{"code":"KMH","data_type":"float","description":"The value represents the calculated vehicle speed based on GPS coordinates.","unit":"km/h"}},"doors.frontLeft.locked":{"property_info":{"data_type":"boolean","description":"This value indicates whether the front left door was locked at the time of data collection.","values":{"0":"unlocked","1":"front left door locked"}},"ts":"2023-07-03T19:09:06.000000+00:00","value":1},"doors.frontLeft.open":{"property_info":{"data_type":"boolean","description":"The value indicates whether the front left door was closed at the time of data collection.","values":{"0":"closed","1":"front left door open"}},"ts":"2023-07-03T19:09:04.000000+00:00","value":0},"doors.frontRight.locked":{"property_info":{"data_type":"boolean","description":"This value indicates whether the front right door was locked at the time of data collection.","values":{"0":"unlocked","1":"front right door locked"}},"ts":"2023-07-03T19:09:06.000000+00:00","value":1},"doors.frontRight.open":{"property_info":{"data_type":"boolean","description":"The value indicates whether the front right door was closed at the time of data collection.","values":{"0":"closed","1":"front right door open"}},"ts":"2023-07-03T15:02:48.000000+00:00","value":0},"doors.hood.open":{"property_info":{"data_type":"boolean","description":"This value indicates whether the hood is open at the time of data collection.","values":{"0":"closed","1":"hood door open"}}},"doors.locked":{"property_info":{"data_type":"boolean","description":"This value indicates whether the vehicle doors are locked at the time of data collection.","values":{"0":"unlocked","1":"all doors locked"}},"ts":"2023-07-03T19:09:06.000000+00:00","value":1},"doors.rearLeft.locked":{"property_info":{"data_type":"boolean","description":"This value indicates whether the rear left door was locked at the time of data collection.","values":{"0":"unlocked","1":"rear left door locked"}}},"doors.rearLeft.open":{"property_info":{"data_type":"boolean","description":"The value indicates whether the rear left door was closed at the time of data collection.","values":{"0":"closed","1":"rear left door open"}}},"doors.rearRight.locked":{"property_info":{"data_type":"boolean","description":"This value indicates whether the rear right door was locked at the time of data collection.","values":{"0":"unlocked","1":"rear right door locked"}},"ts":"2023-07-03T19:09:06.000000+00:00","value":1},"doors.rearRight.open":{"property_info":{"data_type":"boolean","description":"The value indicates whether the rear right door was closed at the time of data collection.","values":{"0":"closed","1":"rear right door open"}},"ts":"2023-07-03T07:36:20.000000+00:00","value":0},"doors.rooftop.open":{"property_info":{"data_type":"boolean","description":"This value indicates whether the roof is open at the time of data collection.","values":{"0":"closed","1":"rooftop door open"}}},"doors.tankcap.open":{"property_info":{"data_type":"boolean","description":"This value indicates whether the tankcap is open at the time of data collection.","values":{"0":"closed","1":"tankcap door open"}},"ts":"2022-12-19T16:57:12.000000+00:00","value":0},"doors.trunk.locked":{"property_info":{"data_type":"boolean","description":"This value indicates whether the truck is locked at the time of data collection.","values":{"0":"unlocked","1":"trunk door open"}},"ts":"2023-07-03T19:09:06.000000+00:00","value":1},"doors.trunk.open":{"property_info":{"data_type":"boolean","description":"The value indicates whether the trunk is open.","values":{"0":"closed","1":"open"}},"ts":"2023-07-03T19:01:10.000000+00:00","value":0},"engine.brakes.fluid.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the brake fluid is triggered.","values":{"0":"not warning","1":"warning"}}},"engine.brakes.pads.prewarning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a previous warning for the brakepads is triggered.","values":{"0":"no warning","1":"brakepads previous warning"}}},"engine.brakes.pads.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the brakepads is triggered. ","values":{"0":"no warning","1":"brakepads warning"}}},"engine.brakes.park":{"property_info":{"data_type":"boolean","description":"The value indicates if the park brake is active (true).","values":{"0":"inactive","1":"park brake active"}}},"engine.coolant.temperature":{"property_info":{"code":"CEL","data_type":"float","description":"The value indicates the engine coolant temperature.","unit":"ºC"}},"engine.coolant.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the coolant level is triggered.","values":{"0":"no warning","1":"low coolant level warning"}}},"engine.dashboard":{"property_info":{"data_type":"boolean","description":"The value indicates if the control and information panel is on (true).","values":{"0":"dashboard off","1":"dashboard on"}}},"engine.electric.mode":{"property_info":{"data_type":"boolean","description":"The value indicates if the electrical engine mode is on at the time of the data collection.","values":{"0":"off","1":"electrical engine mode on"}}},"engine.electric.temperature":{"property_info":{"code":"CEL","data_type":"float","description":"The value indicates the battery temperature in Celsius (ºC) at the time of the data collection.","unit":"ºC"}},"engine.limpMode.status":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the limp mode is active.","values":{"0":"inactive","1":"limp mode active"}}},"engine.oil.percentage":{"property_info":{"code":"P1","data_type":"float","description":"The value indicates the percentage (%) of oil level at the time of data collection.","unit":"%"}},"engine.oil.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the oil level is triggered.","values":{"0":"no warning","1":"low oil level warning"}}},"engine.supplyBattery.voltage":{"property_info":{"code":"VLT","data_type":"float","description":"The value indicates the current battery voltage (V) at the time of the data collection.","unit":"V"}},"engine.supplyBattery.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the supply battery is triggered.","values":{"0":"no warning","1":"supply battery warning"}}},"engine.washWater.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the wash water level is triggered.","values":{"0":"no warning","1":"low wash water level warning"}}},"fuel":{"property_info":{"data_type":"float"}},"heading":{"property_info":{"data_type":"float"}},"ignition":{"property_info":{"data_type":"boolean"},"ts":"2023-05-18T08:09:53.000000+00:00","value":0},"ignition.status":{"property_info":{"data_type":"boolean","description":"The value indicates the status of the ignition of the vehicle at the time of the data collection.","values":{"0":"off","1":"on","2":"stand by"}},"ts":"2023-06-22T09:37:02.000000+00:00","value":0},"lights":{"property_info":{"data_type":"boolean"},"ts":"2023-05-17T17:21:59.000000+00:00","value":1},"lights.interior.front.on":{"property_info":{"data_type":"boolean","description":"This value indicates whether the interior light is on at the time of data collection.","values":{"0":"off","1":"interior front lights on"}},"ts":"2023-07-03T19:09:10.000000+00:00","value":0},"lights.interior.readingFrontLeft.on":{"property_info":{"data_type":"boolean","description":"This value indicates whether the interior reading lamp at the front left is on at the time of data collection.","values":{"0":"off","1":"front left reading lamp on"}},"ts":"2023-06-15T11:29:19.000000+00:00","value":0},"lights.interior.readingFrontRight.on":{"property_info":{"data_type":"boolean","description":"This value indicates whether the interior reading lamp at the front right is on at the time of data collection.","values":{"0":"off","1":"front right reading lamp on"}},"ts":"2023-06-15T11:27:22.000000+00:00","value":0},"lights.interior.rear.on":{"property_info":{"data_type":"boolean","description":"This value indicates whether the interior light is on at the time of data collection.","values":{"0":"off","1":"rear lights on"}}},"odometer":{"property_info":{"code":"KTM","data_type":"float","description":"Odometer or mileage value at the time of data collection.","unit":"km"},"ts":"2023-07-03T19:03:30.000000+00:00","value":11617},"position.altitude":{"property_info":{"code":"MTR","data_type":"float","description":"The value represents the altitude of the vehicle above sea-level at the time of data collection. The value range reaches from -100m to 6000m.","unit":"m"}},"position.heading":{"property_info":{"data_type":"float","description":"This value indicates the angle of the vehicle's orientation in degrees (º) at the data collection . A value of 180 signifies that the vehicle is facing due south, while a value of 0 indicates it is facing due north. The range of possible values spans from 0 to 359 degrees.","unit":"degrees"},"ts":"2023-07-03T19:04:00.000000+00:00","value":11.7},"security.alarm.status":{"property_info":{"data_type":"boolean","description":"This value indicates whether the anti-theft system is armed at the time of data collection.","values":{"0":"not armed","1":"anti-theft system armed"}}},"security.alarm.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for anti-theft system alarm is triggered.","values":{"0":"no warning","1":"anti-theft system warning"}}},"security.interior.status":{"property_info":{"data_type":"boolean","description":"This value indicates whether the interior protection sensors are active at the time of data collection.","values":{"0":"inactive","1":"interior protector sensors active"}}},"security.interior.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning from the interior protector sensors are triggered.","values":{"0":"no warning","1":"interior protector sensors warning"}}},"security.tow.status":{"property_info":{"data_type":"boolean","description":"This value indicates whether the tow protection sensors are active at the time of data collection.","values":{"0":"inactive","1":"tow protector sensors active"}}},"security.tow.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning from the tow protector sensors are triggered.","values":{"0":"no warning","1":"tow protector sensors warning"}}},"service.distance":{"property_info":{"code":"KTM","data_type":"float","description":"This value indicates the distance remaining, in kilometers(km), before the next scheduled service at the time of data collection.","unit":"km"}},"service.time":{"property_info":{"code":"DAY","data_type":"integer","description":"The value indicates the days left the vehicle is approaching its next scheduled service.","unit":"d"}},"speed":{"property_info":{"data_type":"float"},"ts":"2023-07-03T19:03:45.000000+00:00","value":52.9},"tires":{"property_info":{"data_type":"boolean"},"ts":"2023-05-18T08:07:56.000000+00:00","value":325},"wheels.frontLeft.pressure":{"property_info":{"code":"KPA","data_type":"float","description":"This value indicates the measured tyre pressure on the front left in kilopascal (kPa).","unit":"kPa"},"ts":"2023-07-03T19:02:12.000000+00:00","value":332.5},"wheels.frontLeft.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the front left wheel is triggered.","values":{"0":"no warning","1":"front left wheel warning"}},"ts":"2023-07-03T19:05:20.000000+00:00","value":0},"wheels.frontRight.pressure":{"property_info":{"code":"KPA","data_type":"float","description":"This value indicates the measured tyre pressure on the front right in kilopascal (kPa).","unit":"kPa"},"ts":"2023-07-03T19:03:30.000000+00:00","value":362.5},"wheels.frontRight.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the front right wheel is triggered.","values":{"0":"no warning","1":"front right wheel warning"}},"ts":"2023-07-03T19:05:20.000000+00:00","value":0},"wheels.rearLeft.pressure":{"property_info":{"code":"KPA","data_type":"float","description":"This value indicates the measured tyre pressure on the rear left in kilopascal (kPa).","unit":"kPa"},"ts":"2023-07-03T18:54:04.000000+00:00","value":330},"wheels.rearLeft.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the rear left wheel is triggered.","values":{"0":"no warning","1":"rear left wheel warning"}},"ts":"2023-07-03T19:05:20.000000+00:00","value":0},"wheels.rearRight.pressure":{"property_info":{"code":"KPA","data_type":"float","description":"This value indicates the measured tyre pressure on the rear right in kilopascal (kPa).","unit":"kPa"},"ts":"2023-07-03T19:02:11.000000+00:00","value":327.5},"wheels.rearRight.warning":{"property_info":{"data_type":"boolean","description":"The value indicates whether a warning for the rear right wheel is triggered.","values":{"0":"no warning","1":"rear right wheel warning"}},"ts":"2023-07-03T19:05:20.000000+00:00","value":0},"windows":{"property_info":{"data_type":"boolean"},"ts":"2023-05-18T07:01:33.000000+00:00","value":0},"windows.frontLeft.open":{"property_info":{"data_type":"boolean","description":"This value indicates whether the front left window is open at the time of data collection.","values":{"0":"closed","1":"front left window open"}},"ts":"2023-07-03T19:03:56.000000+00:00","value":0},"windows.frontRight.open":{"property_info":{"data_type":"boolean","description":"This value indicates whether the front right window is open at the time of data collection.","values":{"0":"closed","1":"front right window open"}},"ts":"2023-07-03T19:03:54.000000+00:00","value":0},"windows.rearLeft.open":{"property_info":{"data_type":"boolean","description":"This value indicates whether the rear left window is open at the time of data collection.","values":{"0":"closed","1":"rear left window open"}}},"windows.rearRight.open":{"property_info":{"data_type":"boolean","description":"This value indicates whether the rear right window is open at the time of data collection.","values":{"0":"closed","1":"rear right window open"}}}},"provider":"mercedes-benz","start_date":"2022-10-13T15:38:41.892373+00:00","tracker_id":"W1V44760313923683","type":"oem","validation_status":"connected","vehicle_type":"van"}}}}}},"404":{"description":"The given tracker OID was not found. Revise the provided information.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker not found":{"value":{"msg":"Tracker not found in our database.","error":404,"err_code":101}}}}}},"415":{"description":"This error is shown when the tracker OID has no valid UUID format.\n","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"examples":{"Tracker OID string has no valid UUID format":{"value":{"msg":"oid string has no valid UUID format.","error":415,"err_code":9900}}}}}}}}},"/v1/assets/{asset_oid}":{"get":{"summary":"Get an asset by its OID.","description":"This endpoint retrieves an asset based on the provided OID.\nIf the asset is not found, it returns a 404 error.\n","tags":["Assets"],"parameters":[{"in":"path","name":"asset_oid","required":true,"schema":{"type":"string"},"description":"The OID of the asset to retrieve."}],"responses":{"200":{"description":"The asset details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSchema"}}}},"404":{"description":"Asset not found.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Asset not found"},"status":{"type":"string","example":"error"}}}}}}}}},"/v2/orders/{oid}":{},"/static/{filename}":{}},"info":{"title":"Astara Connect API v1","version":"1.206.4"},"openapi":"3.0.2","components":{"schemas":{"ExternalValidationData":{"type":"object","properties":{"document":{"type":"string"},"odometer":{"type":"integer","format":"int32","minimum":0},"foreign_provider_id":{"type":"string"}}},"ContactPerson":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"}},"required":["email","name","phone"]},"AssetRegisterRequestSchema":{"type":"object","properties":{"provider":{"type":"string","enum":["mercedes-benz","bmw","cartrack","targa","stellantis","hyundai-kia","html5","ford","renault","toyota","volkswagen"]},"installation_order":{"type":"boolean"},"registration_country":{"type":"string","pattern":"^[A-Z]{3}$"},"id":{"type":"string"},"type":{"type":"string","enum":["oem","obd","CANbus"]},"version_id":{"type":"string"},"packages":{"type":"array","minItems":1,"items":{"type":"string"}},"model_year":{"type":"integer","format":"int32","minimum":1900,"maximum":2100},"license_plate":{"type":"string"},"tank_size":{"type":"integer","format":"int32","minimum":0},"color":{"type":"string","enum":["aqua","aubergine","beige","black","blue","brown","dark grey","green","light grey","olive","orange","pink","purple","red","silver","teal","white","yellow"]},"alias":{"type":"string"},"battery_size":{"type":"integer","format":"int32","minimum":0},"external_validation_data":{"$ref":"#/components/schemas/ExternalValidationData"},"company_oid":{"type":"string"},"registration_date":{"type":"string","format":"date"},"company_address_oid":{"type":"string","format":"uuid"},"contact_person":{"$ref":"#/components/schemas/ContactPerson"},"credentials":{"description":"JSON object with provider-specific credentials must include exactly the required keys:\n- cartrack: { url, token }\n- hyundai-kia: { username, password, pin }","oneOf":[{"$ref":"#/components/schemas/CartrackCredsSchema"},{"$ref":"#/components/schemas/TargaCredsSchema"},{"$ref":"#/components/schemas/HyundaiKiaCredsSchema"}]},"credential_oid":{"type":"string"},"odo_value":{"type":"integer","format":"int32","minimum":0}},"required":["company_oid","id","installation_order","model_year","packages","provider","registration_country","type","version_id"],"description":"\n\nConstraints (documented; enforced at runtime):\n- If provider='targa' and installation_order=true: require company_address_oid and contact_person.\n- If provider='mercedes-benz': require odo_value.\n- require credentials when provider is one of [cartrack, hyundai-kia].\n"},"AssetSchema":{"type":"object","properties":{"battery_size":{"type":"object","nullable":true,"default":{"gross":"0","net":"0","provided":"0","unit":"kWh"}},"model":{"type":"string","readOnly":true},"color":{"type":"string","enum":["aqua","aubergine","beige","black","blue","brown","dark grey","green","light grey","olive","orange","pink","purple","red","silver","teal","white","yellow"],"nullable":true},"registration_country":{"type":"string"},"image_id":{"type":"integer","format":"int32","nullable":true},"id":{"type":"string"},"oid":{"type":"string"},"license_plate":{"type":"string","nullable":true},"version":{"type":"string","readOnly":true},"model_year":{"type":"integer","format":"int32","nullable":true},"alias":{"type":"string","nullable":true},"version_id":{"type":"integer","format":"int32"},"created_at":{"type":"string","format":"date-time","readOnly":true},"registration_date":{"type":"string","format":"date","readOnly":true},"external_validation_data":{"type":"object","nullable":true},"make":{"type":"string","readOnly":true},"tank_size":{"type":"integer","format":"int32","nullable":true},"status":{"type":"string","enum":["draft","processed","active","inactive"]},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["id","registration_country","status","version_id"]},"CartrackCredsSchema":{"type":"object","properties":{"url":{"type":"string","format":"url"},"token":{"type":"string"}},"required":["token","url"],"additionalProperties":false},"CartrackSchema":{"type":"object","properties":{"o_event_ts":{"readOnly":true},"o_longitude":{"type":"number","format":"float"},"o_event_location":{"type":"string"},"o_odometer":{"type":"number","format":"float"},"o_latitude":{"type":"number","format":"float"},"o_ignition":{"type":"integer","format":"int32"},"o_speed":{"type":"number","format":"float"}}},"ContactPersonSchema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"}},"required":["email","name","phone"]},"EventsSchema":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"ts":{"type":"string","format":"date-time"},"name":{"type":"string"},"latitude":{"type":"number","format":"float"}}},"ExternalValidationDataSchema":{"type":"object","properties":{"document":{"type":"string"},"odometer":{"type":"integer","format":"int32","minimum":0},"foreign_provider_id":{"type":"string"}}},"FuelTypesSchema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"Company":{"type":"object","properties":{"has_accepted_terms_of_service":{"type":"boolean"},"product":{"type":"string"},"has_apikey":{"type":"boolean"},"email":{"type":"string"},"language":{"type":"string"},"country":{"type":"string"},"owner_oid":{"type":"string"},"city":{"type":"string"},"postal_code":{"type":"string"},"schedule_oid":{"type":"string","nullable":true},"invoicing_email":{"type":"string"},"has_accepted_privacy_policy":{"type":"boolean"},"vat":{"type":"string"},"deleted":{"type":"boolean"},"cif":{"type":"string"},"oid":{"type":"string"},"fiscal_address":{"type":"string"},"has_accepted_contract":{"type":"boolean"},"code":{"type":"string"},"created_at":{"type":"string","format":"date-time","readOnly":true},"slug":{"type":"string"},"phone":{"type":"string"},"webhook":{"type":"string"},"delete_at_period_end":{"type":"boolean"},"name":{"type":"string"},"update_at":{"type":"string","format":"date-time"}}},"GroupSchema":{"type":"object","properties":{"oid":{"type":"string"},"webhook":{"type":"string"},"description":{"type":"string"},"company":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Company"}]},"schedule_oid":{"type":"string","nullable":true},"email":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}}},"Html5Schema":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"ts":{"type":"string","format":"date-time"},"time":{"type":"string","format":"date-time"}}},"HyundaiKiaCredsSchema":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"},"pin":{"type":"string"},"refresh_token":{"type":"string"}},"required":["password","pin","username"],"additionalProperties":false},"ManufacturerSchema":{"type":"object","properties":{"name":{"type":"string"}}},"MotorizationSchema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"NotificationInboxSchema":{"type":"object","properties":{"tracker_oid":{"type":"string","nullable":true},"oid":{"type":"string","readOnly":true},"info":{"type":"object"},"read":{"readOnly":true},"group_oid":{"type":"string","nullable":true},"favorite":{"readOnly":true},"notification_oid":{"type":"string","nullable":true},"user_oid":{"type":"string"},"created_at":{"type":"string","format":"date-time","readOnly":true},"trash":{"readOnly":true},"event_type":{"type":"string"}}},"Poi":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}},"oid":{"type":"string"},"info":{"type":"object"},"public":{"type":"boolean"},"geometry":{"readOnly":true},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"string"},"visible":{"type":"boolean"},"company_oid":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}},"NotificationRuleSchema":{"type":"object","properties":{"notify_by_webhook":{"type":"boolean"},"group_oid":{"type":"string","nullable":true},"max_time_at_poi":{"type":"integer","format":"int32"},"company_oid":{"type":"string"},"rule_email":{"type":"string","nullable":true},"notify_by_email":{"type":"boolean"},"trips_max_kms_per_week":{"type":"integer","format":"int32"},"description":{"readOnly":true},"trips_max_kms_per_day":{"type":"integer","format":"int32"},"days_of_the_week":{"type":"array","items":{"type":"integer","format":"int32"}},"poi":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Poi"}]},"close_to_poi":{"type":"boolean"},"movement_time_slot_start":{"type":"string"},"deleted":{"type":"boolean"},"report_7days_inactive":{"type":"boolean"},"oid":{"type":"string","readOnly":true},"link_type":{"type":"string","enum":["tracker-travels-more-than-n-km","tracker-inactive-for-more-than-7-days","tracker-is-moving-within-a-schedule","tracker-outside-geofence","tracker-inside-geofence","tracker-odometer-greater-than-n-km","tracker-close-to-poi","tracker-inside-geofence-for-more-than-n-minutes","device-disconnected","towing-event","crash-event","engine-blocked-event","tracker-property-min-value","tracker-property-equal-boolean-value","tracker-property-max-value","block-engine","maintenance-notification"],"nullable":true},"inside_poi":{"type":"boolean"},"enable_rule_at":{"type":"string","format":"date-time"},"is_mileage":{"type":"boolean"},"movement_time_slot_end":{"type":"string"},"poi_oid":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"tracker_oid":{"type":"string","nullable":true},"webhook":{"type":"string","nullable":true},"trips_max_kms_per_month":{"type":"integer","format":"int32"},"trips_max_kms_in_total":{"type":"integer","format":"int32"},"outside_poi":{"type":"boolean"},"enable":{"type":"boolean"},"odometer_maintenance":{"type":"integer","format":"int32"},"enabled":{"type":"boolean"},"updated_at":{"type":"string","format":"date-time","readOnly":true},"user_oid":{"type":"string","nullable":true},"min_distance_to_poi":{"type":"integer","format":"int32"},"disable_rule_at":{"type":"string","format":"date-time"}},"required":["company_oid"]},"PackageProviderSchema":{"type":"object","properties":{"oid":{"type":"string"},"info":{"type":"object"},"provider_oid":{"type":"string"},"description":{"type":"string"}}},"PackageProviderSlimSchema":{"type":"object","properties":{"oid":{"type":"string"},"info":{"readOnly":true},"provider_oid":{"type":"string"},"description":{"type":"string"}}},"PoiSchema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}},"oid":{"type":"string"},"info":{"type":"object"},"public":{"type":"boolean"},"geometry":{"readOnly":true},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"string"},"visible":{"type":"boolean"},"company_oid":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}},"TargaCredsSchema":{"type":"object","properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["client_id","client_secret"],"additionalProperties":false},"TelemetricSchema":{"type":"object","properties":{"oid":{"type":"string"},"info":{"type":"object"},"tracker_id":{"type":"string"},"latitude":{"type":"number","format":"float"},"ts":{"type":"string","format":"date-time"},"longitude":{"type":"number","format":"float"}}},"ConnectionStatus":{"type":"object","properties":{"connected":{"type":"boolean","nullable":true},"ts":{"type":"string","format":"date-time"}}},"TrackerHealthSchema":{"type":"object","properties":{"obd":{"$ref":"#/components/schemas/ConnectionStatus"},"health":{"type":"string","enum":["good","medium","bad"]},"battery":{"$ref":"#/components/schemas/ConnectionStatus"}}},"TrackerOrderSchema":{"type":"object","properties":{"oid":{"type":"string"},"description":{"type":"string"},"external_oid":{"type":"string","nullable":true},"user_oid":{"type":"string"},"updated_at":{"type":"string","format":"date-time","readOnly":true},"order_status":{"type":"string"},"payload":{"type":"object"},"created_at":{"type":"string","format":"date-time","readOnly":true},"tracker_oid":{"type":"string"}},"required":["tracker_oid"]},"TrackerPositionSchema":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"tracker_id":{"type":"string"},"ts":{"type":"string","format":"date-time"}}},"TrackerPropertiesSchema":{"type":"object","properties":{"oid":{"type":"string"},"tracker_id":{"type":"string"},"extra_info":{"type":"object"},"ts":{"type":"string","format":"date-time"},"key":{"type":"string"},"value":{"type":"number","format":"float"},"tracker_oid":{"type":"string"}}},"TrackerSchema":{"type":"object","properties":{"oid":{"type":"string"},"object_id":{"type":"object"},"tracker_id":{"type":"string"},"asset_oid":{"type":"string","nullable":true},"external_validation_data":{"type":"object"},"end_date":{"type":"string","format":"date-time","nullable":true},"position":{"type":"object","readOnly":true},"validation_status":{"type":"string"},"motorization":{"type":"object","readOnly":true},"type":{"type":"string","enum":["oem","obd","canbus","iot"]},"vehicle_type":{},"start_date":{"type":"string","format":"date-time"},"provider":{"type":"string"},"heartbeat":{"type":"string","format":"date-time"},"schedule_oid":{"type":"string","nullable":true},"company_oid":{"type":"string","writeOnly":true},"foreign_tracker_id":{"type":"string","writeOnly":true},"moving":{"type":"boolean"}},"required":["provider"]},"TripOdometerSchema":{"type":"object","properties":{"oid":{"type":"string"},"avg_speed_by_odometer":{"type":"number","format":"float","nullable":true},"distance_by_odometer":{"type":"number","format":"float","nullable":true},"tracker":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/TrackerSchema"}]},"end_date":{"type":"string","format":"date-time","nullable":true},"start_date":{"type":"string","format":"date-time"}}},"TripSchema":{"type":"object","properties":{"oid":{"type":"string"},"avg_speed_by_odometer":{"type":"number","format":"float","nullable":true},"distance_by_odometer":{"type":"number","format":"float","nullable":true},"tracker":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/TrackerSchema"}]},"geojson_mm":{},"end_date":{"type":"string","format":"date-time","nullable":true},"distance_by_geom":{"type":"number","format":"float","nullable":true},"distance_by_mm_geom":{"type":"number","format":"float","nullable":true},"avg_speed_by_mm_geom":{"type":"number","format":"float","nullable":true},"vertex_number":{"type":"integer","format":"int32"},"start_date":{"type":"string","format":"date-time"},"end_address":{"type":"object"},"points_oid":{"type":"array","items":{"type":"string"}},"avg_speed_by_geom":{"type":"number","format":"float","nullable":true},"geojson":{},"start_address":{"type":"object"},"distance":{"type":"number","format":"float"}}},"Roles":{"type":"object","properties":{"group_oid":{"type":"string"},"name":{"readOnly":true}}},"Roles1":{"type":"object","properties":{"role":{"type":"string"},"company_oid":{"type":"string"}}},"UserSchema":{"type":"object","properties":{"fullname":{"type":"string"},"phone":{"type":"string"},"oid":{"type":"string"},"has_accepted_marketing_contact":{"type":"boolean"},"dashboard":{"type":"object"},"validated":{"type":"boolean"},"companies":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Company"}},"admin":{"type":"boolean"},"active_company":{"type":"string"},"roles_user_group":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Roles"}]},"email":{"type":"string"},"roles_user_company":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Roles1"}]},"companies_membership":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Company"}}}},"VehicleMakeSchema":{"type":"object","properties":{"name":{"type":"string"}}},"VehicleModelMakeSchema":{"type":"object","properties":{"name":{"type":"string"},"vehicle_type":{"type":"string"},"id":{"type":"integer","format":"int32"}}},"VehicleModelSchema":{"type":"object","properties":{"oid":{"type":"string"},"info":{"type":"object"},"countries_alias":{"type":"object"},"updated_at":{"type":"string","format":"date-time"},"name":{"type":"string"},"manufacturer":{"type":"string"},"created_at":{"type":"string","format":"date-time","readOnly":true}}},"VehicleTypeSchema":{"type":"object","properties":{"name":{"type":"string"}}},"VehicleVersionSchema":{"type":"object","properties":{"wltp":{"type":"object","nullable":true},"transmission":{"type":"string","nullable":true},"engine_power":{"type":"object","nullable":true},"concat_version":{"readOnly":true},"motorization":{"readOnly":true},"vehicle_make":{"readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true},"type_approval":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"vehicle_model":{"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"engine_displacement":{"type":"object","nullable":true},"id":{"type":"integer","format":"int32"},"fuel_types":{"readOnly":true},"doors":{"type":"string","nullable":true}},"required":["id"]},"Exception":{"type":"object","properties":{"err_code":{"type":"string"},"status":{"type":"string"},"msg":{"type":"string"},"error":{"type":"number"}}},"TrackingSchedule":{"type":"object","properties":{"oid":{"type":"string"},"description":{"type":"string"},"timezone":{"type":"string"},"name":{"type":"string"},"company_oid":{"type":"string"},"schedule":{"type":"object"}}},"Trips":{"type":"object","properties":{"data":{"readOnly":true},"pagination":{"readOnly":true}}},"Error":{"type":"object","properties":{"msg":{"type":"string"},"error":{"type":"string"}}},"RegisterTracker":{"type":"object","properties":{"company_oid":{"type":"string","writeOnly":true},"tracker_id":{"type":"string"},"provider":{"type":"string"},"type":{"type":"string","enum":["oem","obd","canbus","iot"]},"vehicle_type":{"type":"string","enum":["car","van","other"],"nullable":true},"packages":{"type":"array","description":"Assigning packages requires the definition of an object_id.","items":{"type":"string","enum":["mercedesbenzmileage","mercedesbenzelectrotest","mercedesbenzextended"]}},"object_id":{"type":"object","description":"The keys may include any combination of the following: make, model, vin, and license_plate."}},"required":["company_oid","provider","tracker_id","type"]},"ValidateTracker":{"type":"object","properties":{"type":{"type":"string","enum":["oem","obd","canbus","iot"]},"provider":{"type":"string"},"tracker_id":{"type":"string"},"odo_value":{"type":"integer","format":"int32"}},"required":["provider"]},"Position":{"type":"object","properties":{"longitude":{"type":"number","format":"float"},"latitude":{"type":"number","format":"float"},"ts":{"type":"string","format":"date-time"}}},"Stats":{"type":"object","properties":{"time":{"type":"integer","format":"int32"},"kms":{"type":"number","format":"float"}}},"ObjectId":{"type":"object","properties":{"vin":{"type":"string","nullable":true},"make":{"type":"string","nullable":true},"license_plate":{"type":"string","nullable":true},"model":{"type":"string","nullable":true}}},"UpdateTracker":{"type":"object","properties":{"type":{"type":"string","enum":["oem","obd","canbus","iot"],"nullable":true},"vehicle_type":{},"object_id":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/ObjectId"}]},"tracker_id":{"type":"string","nullable":true}}},"Trackers":{"type":"object","properties":{"data":{"readOnly":true},"pagination":{"readOnly":true}}}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"x-readme":{"explorer-enabled":true,"proxy-enabled":true}}