diff --git a/certified-connectors/CarsXE/apiDefinition.swagger.json b/certified-connectors/CarsXE/apiDefinition.swagger.json new file mode 100644 index 0000000000..aa781bce97 --- /dev/null +++ b/certified-connectors/CarsXE/apiDefinition.swagger.json @@ -0,0 +1,3432 @@ +{ + "swagger": "2.0", + "info": { + "title": "CarsXE", + "description": "Access comprehensive vehicle data including VIN decoding, specifications, market values, license plate recognition, vehicle history, recalls, images, and diagnostic codes for automotive applications.", + "version": "1.0.0", + "contact": { + "name": "CarsXE Support", + "url": "https://api.carsxe.com/support", + "email": "support@carsxe.com" + } + }, + "host": "api.carsxe.com", + "basePath": "/", + "schemes": ["https"], + "produces": ["application/json"], + "securityDefinitions": { + "api_key": { + "type": "apiKey", + "name": "key", + "in": "query", + "description": "Your CarsXE API key" + } + }, + "security": [ + { + "api_key": [] + } + ], + "paths": { + "/v1/auth/validate": { + "get": { + "operationId": "ValidateApiKey", + "summary": "Validate API Key", + "x-ms-summary": "Validate API Key", + "description": "Checks whether the provided CarsXE API key is valid and active.", + "x-ms-visibility": "internal", + "parameters": [], + "responses": { + "200": { + "description": "Key is valid", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the validation was successful", + "title": "Success" + }, + "message": { + "type": "string", + "description": "Validation message", + "title": "Message" + }, + "active": { + "type": "boolean", + "description": "Whether the API key is active", + "title": "Active" + }, + "user": { + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "User email address", + "title": "Email" + }, + "createdAt": { + "type": "string", + "description": "Account creation date", + "title": "Created At" + } + }, + "title": "User" + } + } + } + }, + "401": { + "description": "Invalid API key" + } + } + } + }, + "/specs": { + "get": { + "operationId": "GetVehicleSpecs", + "summary": "Get Vehicle Specifications", + "x-ms-summary": "Decode VIN & Get Full Vehicle Specs", + "description": "Decode VIN and retrieve comprehensive vehicle specifications including attributes, colors, equipment, warranties, and deep VIN decode information.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "vin", + "in": "query", + "x-ms-summary": "VIN Number", + "description": "Vehicle Identification Number (VIN) - 17 characters", + "required": true, + "type": "string" + }, + { + "name": "deepdata", + "in": "query", + "x-ms-summary": "Include Deep Data", + "description": "Include detailed VIN decode data", + "required": false, + "type": "boolean", + "x-ms-visibility": "advanced" + }, + { + "name": "disableIntVINDecoding", + "in": "query", + "x-ms-summary": "Disable International VIN Decoding", + "description": "Disable international VIN decoding", + "required": false, + "type": "boolean", + "x-ms-visibility": "advanced" + } + ], + "responses": { + "200": { + "description": "Successful response - Vehicle specifications retrieved", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "input": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The API key used", + "title": "Key" + }, + "vin": { + "type": "string", + "description": "The VIN number", + "title": "VIN" + } + }, + "title": "Input" + }, + "attributes": { + "type": "object", + "properties": { + "year": { + "type": "string", + "description": "The vehicle year", + "title": "Year" + }, + "make": { + "type": "string", + "description": "The vehicle make", + "title": "Make" + }, + "model": { + "type": "string", + "description": "The vehicle model", + "title": "Model" + }, + "trim": { + "type": "string", + "description": "The vehicle trim", + "title": "Trim" + }, + "style": { + "type": "string", + "description": "The vehicle style", + "title": "Style" + }, + "type": { + "type": "string", + "description": "The vehicle type", + "title": "Type" + }, + "size": { + "type": "string", + "description": "The vehicle size", + "title": "Size" + }, + "category": { + "type": "string", + "description": "The vehicle category", + "title": "Category" + }, + "made_in": { + "type": "string", + "description": "Country where manufactured", + "title": "Made In" + }, + "made_in_city": { + "type": "string", + "description": "City where manufactured", + "title": "Made In City" + }, + "doors": { + "type": "string", + "description": "Number of doors", + "title": "Doors" + }, + "fuel_type": { + "type": "string", + "description": "The fuel type", + "title": "Fuel Type" + }, + "fuel_capacity": { + "type": "string", + "description": "Fuel tank capacity", + "title": "Fuel Capacity" + }, + "city_mileage": { + "type": "string", + "description": "City fuel efficiency", + "title": "City Mileage" + }, + "highway_mileage": { + "type": "string", + "description": "Highway fuel efficiency", + "title": "Highway Mileage" + }, + "engine": { + "type": "string", + "description": "Engine description", + "title": "Engine" + }, + "engine_size": { + "type": "string", + "description": "Engine displacement", + "title": "Engine Size" + }, + "engine_cylinders": { + "type": "string", + "description": "Number of cylinders", + "title": "Engine Cylinders" + }, + "transmission": { + "type": "string", + "description": "Transmission description", + "title": "Transmission" + }, + "transmission_short": { + "type": "string", + "description": "Short transmission code", + "title": "Transmission Short" + }, + "transmission_type": { + "type": "string", + "description": "Type of transmission", + "title": "Transmission Type" + }, + "transmission_speeds": { + "type": "string", + "description": "Number of speeds", + "title": "Transmission Speeds" + }, + "drivetrain": { + "type": "string", + "description": "Drivetrain type", + "title": "Drivetrain" + }, + "anti_brake_system": { + "type": "string", + "description": "ABS type", + "title": "Anti Brake System" + }, + "steering_type": { + "type": "string", + "description": "Steering system type", + "title": "Steering Type" + }, + "curb_weight": { + "type": "string", + "description": "Vehicle curb weight", + "title": "Curb Weight" + }, + "gross_vehicle_weight_rating": { + "type": "string", + "description": "Maximum weight rating", + "title": "GVWR" + }, + "overall_height": { + "type": "string", + "description": "Total vehicle height", + "title": "Overall Height" + }, + "overall_length": { + "type": "string", + "description": "Total vehicle length", + "title": "Overall Length" + }, + "overall_width": { + "type": "string", + "description": "Total vehicle width", + "title": "Overall Width" + }, + "wheelbase_length": { + "type": "string", + "description": "Wheelbase length", + "title": "Wheelbase Length" + }, + "standard_seating": { + "type": "string", + "description": "Standard seating capacity", + "title": "Standard Seating" + }, + "invoice_price": { + "type": "string", + "description": "Dealer invoice price", + "title": "Invoice Price" + }, + "delivery_charges": { + "type": "string", + "description": "Delivery charges", + "title": "Delivery Charges" + }, + "manufacturer_suggested_retail_price": { + "type": "string", + "description": "MSRP", + "title": "MSRP" + }, + "production_seq_number": { + "type": "string", + "description": "Production sequence number", + "title": "Production Seq Number" + }, + "front_brake_type": { + "type": "string", + "description": "Front brake type", + "title": "Front Brake Type" + }, + "rear_brake_type": { + "type": "string", + "description": "Rear brake type", + "title": "Rear Brake Type" + }, + "turning_diameter": { + "type": "string", + "description": "Turning circle diameter", + "title": "Turning Diameter" + }, + "front_suspension": { + "type": "string", + "description": "Front suspension type", + "title": "Front Suspension" + }, + "rear_suspension": { + "type": "string", + "description": "Rear suspension type", + "title": "Rear Suspension" + }, + "front_spring_type": { + "type": "string", + "description": "Front spring type", + "title": "Front Spring Type" + }, + "rear_spring_type": { + "type": "string", + "description": "Rear spring type", + "title": "Rear Spring Type" + }, + "tires": { + "type": "string", + "description": "Tire size specifications", + "title": "Tires" + }, + "front_headroom": { + "type": "string", + "description": "Front seat headroom", + "title": "Front Headroom" + }, + "rear_headroom": { + "type": "string", + "description": "Rear seat headroom", + "title": "Rear Headroom" + }, + "front_legroom": { + "type": "string", + "description": "Front seat legroom", + "title": "Front Legroom" + }, + "rear_legroom": { + "type": "string", + "description": "Rear seat legroom", + "title": "Rear Legroom" + }, + "front_shoulder_room": { + "type": "string", + "description": "Front shoulder room", + "title": "Front Shoulder Room" + }, + "rear_shoulder_room": { + "type": "string", + "description": "Rear shoulder room", + "title": "Rear Shoulder Room" + }, + "front_hip_room": { + "type": "string", + "description": "Front hip room", + "title": "Front Hip Room" + }, + "rear_hip_room": { + "type": "string", + "description": "Rear hip room", + "title": "Rear Hip Room" + }, + "interior_trim": { + "type": "array", + "items": { "type": "string" }, + "description": "Available interior trim options", + "title": "Interior Trim" + }, + "exterior_color": { + "type": "array", + "items": { "type": "string" }, + "description": "Available exterior colors", + "title": "Exterior Color" + }, + "curb_weight_manual": { + "type": "string", + "description": "Curb weight for manual", + "title": "Curb Weight Manual" + }, + "ground_clearance": { + "type": "string", + "description": "Ground clearance height", + "title": "Ground Clearance" + }, + "track_front": { + "type": "string", + "description": "Front track width", + "title": "Track Front" + }, + "track_rear": { + "type": "string", + "description": "Rear track width", + "title": "Track Rear" + }, + "cargo_length": { + "type": "string", + "description": "Cargo area length", + "title": "Cargo Length" + }, + "width_at_wheelwell": { + "type": "string", + "description": "Width at wheelwell", + "title": "Width At Wheelwell" + }, + "width_at_wall": { + "type": "string", + "description": "Width at wall", + "title": "Width At Wall" + }, + "depth": { + "type": "string", + "description": "Cargo area depth", + "title": "Depth" + }, + "optional_seating": { + "type": "string", + "description": "Optional seating capacity", + "title": "Optional Seating" + }, + "passenger_volume": { + "type": "string", + "description": "Total passenger volume", + "title": "Passenger Volume" + }, + "cargo_volume": { + "type": "string", + "description": "Cargo volume", + "title": "Cargo Volume" + }, + "standard_towing": { + "type": "string", + "description": "Standard towing capacity", + "title": "Standard Towing" + }, + "maximum_towing": { + "type": "string", + "description": "Maximum towing capacity", + "title": "Maximum Towing" + }, + "standard_payload": { + "type": "string", + "description": "Standard payload capacity", + "title": "Standard Payload" + }, + "maximum_payload": { + "type": "string", + "description": "Maximum payload capacity", + "title": "Maximum Payload" + }, + "maximum_gvwr": { + "type": "string", + "description": "Maximum GVWR", + "title": "Maximum GVWR" + }, + "vehicle_class": { + "type": "string", + "description": "Vehicle class number", + "title": "Vehicle Class" + }, + "vehicle_rating": { + "type": "string", + "description": "Vehicle weight rating", + "title": "Vehicle Rating" + } + }, + "title": "Attributes" + }, + "colors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Color category", + "title": "Category" + }, + "name": { + "type": "string", + "description": "Color name", + "title": "Name" + } + } + }, + "title": "Colors" + }, + "equipment": { + "type": "object", + "properties": { + "4wd_awd": { "type": "string", "title": "4WD/AWD" }, + "abs_brakes": { "type": "string", "title": "ABS Brakes" }, + "air_conditioning": { + "type": "string", + "title": "Air Conditioning" + }, + "alloy_wheels": { + "type": "string", + "title": "Alloy Wheels" + }, + "cruise_control": { + "type": "string", + "title": "Cruise Control" + }, + "driver_airbag": { + "type": "string", + "title": "Driver Airbag" + }, + "passenger_airbag": { + "type": "string", + "title": "Passenger Airbag" + }, + "leather_seat": { + "type": "string", + "title": "Leather Seat" + }, + "power_windows": { + "type": "string", + "title": "Power Windows" + }, + "navigation_aid": { + "type": "string", + "title": "Navigation Aid" + } + }, + "title": "Equipment" + }, + "warranties": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Warranty type", + "title": "Type" + }, + "miles": { + "type": "string", + "description": "Mileage coverage", + "title": "Miles" + }, + "months": { + "type": "string", + "description": "Time coverage", + "title": "Months" + } + } + }, + "title": "Warranties" + }, + "deepdata": { + "type": "object", + "properties": { + "Error Code": { "type": "string", "title": "Error Code" }, + "Error Text": { "type": "string", "title": "Error Text" }, + "Make": { "type": "string", "title": "Make" }, + "Model": { "type": "string", "title": "Model" }, + "Model Year": { "type": "string", "title": "Model Year" }, + "Body Class": { "type": "string", "title": "Body Class" }, + "Engine Number of Cylinders": { + "type": "string", + "title": "Engine Cylinders" + }, + "Fuel Type - Primary": { + "type": "string", + "title": "Fuel Type" + } + }, + "title": "Deep Data" + }, + "timestamp": { + "type": "string", + "description": "Response timestamp", + "title": "Timestamp" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid or missing VIN" + }, + "401": { + "description": "Unauthorized - Invalid API key" + } + } + } + }, + "/v1/international-vin-decoder": { + "get": { + "operationId": "DecodeInternationalVIN", + "summary": "Decode International VIN", + "x-ms-summary": "Decode VIN with Worldwide Support", + "description": "Decode Vehicle Identification Numbers with worldwide support for international vehicles. Returns comprehensive vehicle data including specifications, dimensions, and technical details.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "vin", + "in": "query", + "x-ms-summary": "VIN Number", + "description": "Vehicle Identification Number (VIN) - International format", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successful response - International VIN decoded", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "input": { + "type": "object", + "properties": { + "vin": { + "type": "string", + "description": "The VIN number", + "title": "VIN" + } + }, + "title": "Input" + }, + "attributes": { + "type": "object", + "properties": { + "vin": { + "type": "string", + "description": "Vehicle Identification Number", + "title": "VIN" + }, + "vid": { + "type": "string", + "description": "Vehicle ID", + "title": "Vehicle ID" + }, + "make": { + "type": "string", + "description": "Vehicle make", + "title": "Make" + }, + "model": { + "type": "string", + "description": "Vehicle model", + "title": "Model" + }, + "year": { + "type": "string", + "description": "Model year", + "title": "Year" + }, + "product_type": { + "type": "string", + "description": "Product type (e.g., Car, Truck)", + "title": "Product Type" + }, + "body": { + "type": "string", + "description": "Body type", + "title": "Body" + }, + "series": { + "type": "string", + "description": "Vehicle series", + "title": "Series" + }, + "fuel_type": { + "type": "string", + "description": "Fuel type", + "title": "Fuel Type" + }, + "gears": { + "type": "string", + "description": "Number of gears", + "title": "Gears" + }, + "emission_standard": { + "type": "string", + "description": "Emission standard", + "title": "Emission Standard" + }, + "manufacturer": { + "type": "string", + "description": "Manufacturer name and location", + "title": "Manufacturer" + }, + "manufacturer_address": { + "type": "string", + "description": "Manufacturer address", + "title": "Manufacturer Address" + }, + "plant_country": { + "type": "string", + "description": "Manufacturing plant country", + "title": "Plant Country" + }, + "engine_manufacturer": { + "type": "string", + "description": "Engine manufacturer", + "title": "Engine Manufacturer" + }, + "avg_co2_emission_g_km": { + "type": "string", + "description": "Average CO2 emissions in g/km", + "title": "Avg CO2 Emission (g/km)" + }, + "no_of_axels": { + "type": "string", + "description": "Number of axles", + "title": "Number of Axles" + }, + "no_of_doors": { + "type": "string", + "description": "Number of doors", + "title": "Number of Doors" + }, + "no_of_seats": { + "type": "string", + "description": "Number of seats", + "title": "Number of Seats" + }, + "rear_brakes": { + "type": "string", + "description": "Rear brake type", + "title": "Rear Brakes" + }, + "steering_type": { + "type": "string", + "description": "Steering system type", + "title": "Steering Type" + }, + "rear_suspension": { + "type": "string", + "description": "Rear suspension description", + "title": "Rear Suspension" + }, + "front_suspension": { + "type": "string", + "description": "Front suspension description", + "title": "Front Suspension" + }, + "wheel_size": { + "type": "string", + "description": "Wheel size specification", + "title": "Wheel Size" + }, + "wheel_size_array": { + "type": "string", + "description": "Wheel size array", + "title": "Wheel Size Array" + }, + "wheelbase_mm": { + "type": "string", + "description": "Wheelbase in millimeters", + "title": "Wheelbase (mm)" + }, + "wheelbase_array_mm": { + "type": "string", + "description": "Wheelbase array in millimeters", + "title": "Wheelbase Array (mm)" + }, + "height_mm": { + "type": "string", + "description": "Vehicle height in millimeters", + "title": "Height (mm)" + }, + "length_mm": { + "type": "string", + "description": "Vehicle length in millimeters", + "title": "Length (mm)" + }, + "width_mm": { + "type": "string", + "description": "Vehicle width in millimeters", + "title": "Width (mm)" + }, + "track_front_mm": { + "type": "string", + "description": "Front track width in millimeters", + "title": "Track Front (mm)" + }, + "track_rear_mm": { + "type": "string", + "description": "Rear track width in millimeters", + "title": "Track Rear (mm)" + }, + "max_speed_kmh": { + "type": "string", + "description": "Maximum speed in km/h", + "title": "Max Speed (km/h)" + }, + "max_trunk_capacity_liters": { + "type": "string", + "description": "Maximum trunk capacity in liters", + "title": "Max Trunk Capacity (L)" + }, + "min_trunk_capacity_liters": { + "type": "string", + "description": "Minimum trunk capacity in liters", + "title": "Min Trunk Capacity (L)" + }, + "weight_empty_kg": { + "type": "string", + "description": "Empty weight in kilograms", + "title": "Weight Empty (kg)" + }, + "max_weight_kg": { + "type": "string", + "description": "Maximum weight in kilograms", + "title": "Max Weight (kg)" + }, + "max_roof_load_kg": { + "type": "string", + "description": "Maximum roof load in kilograms", + "title": "Max Roof Load (kg)" + }, + "permitted_trailer_load_without_brakes_kg": { + "type": "string", + "description": "Permitted trailer load without brakes in kg", + "title": "Trailer Load Without Brakes (kg)" + }, + "abs": { + "type": "string", + "description": "ABS availability (1=Yes, 0=No)", + "title": "ABS" + }, + "check_digit": { + "type": "string", + "description": "VIN check digit", + "title": "Check Digit" + }, + "sequential_number": { + "type": "string", + "description": "Sequential production number", + "title": "Sequential Number" + } + }, + "title": "Attributes" + }, + "timestamp": { + "type": "string", + "description": "Response timestamp", + "title": "Timestamp" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid VIN" + }, + "401": { + "description": "Unauthorized - Invalid API key" + } + } + } + }, + "/v1/recalls": { + "get": { + "operationId": "GetSafetyRecalls", + "summary": "Get Safety Recalls", + "x-ms-summary": "Get Safety Recall Data for VIN", + "description": "Retrieve safety recall data and campaign information for a specific vehicle by VIN. Returns NHTSA recall campaigns, affected components, risk descriptions, and remedy information.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "vin", + "in": "query", + "x-ms-summary": "VIN Number", + "description": "Vehicle Identification Number (VIN) - 17 characters", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successful response - Safety recalls retrieved", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "input": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The API key used", + "title": "Key" + }, + "vin": { + "type": "string", + "description": "The VIN number", + "title": "VIN" + } + }, + "title": "Input" + }, + "data": { + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": "Unique identifier for this recall lookup", + "title": "UUID" + }, + "vin": { + "type": "string", + "description": "Vehicle Identification Number", + "title": "VIN" + }, + "manufacturer": { + "type": "string", + "description": "Vehicle manufacturer", + "title": "Manufacturer" + }, + "model_year": { + "type": "string", + "description": "Model year", + "title": "Model Year" + }, + "make": { + "type": "string", + "description": "Vehicle make", + "title": "Make" + }, + "model": { + "type": "string", + "description": "Vehicle model", + "title": "Model" + }, + "has_recalls": { + "type": "boolean", + "description": "Whether this vehicle has any recalls", + "title": "Has Recalls" + }, + "recall_count": { + "type": "integer", + "format": "int32", + "description": "Number of recalls for this vehicle", + "title": "Recall Count" + }, + "recalls": { + "type": "array", + "items": { + "type": "object", + "properties": { + "recall_date": { + "type": "string", + "description": "Date when recall was issued", + "title": "Recall Date" + }, + "expiration_date": { + "type": "string", + "description": "Recall expiration date (if applicable)", + "title": "Expiration Date" + }, + "nhtsa_id": { + "type": "string", + "description": "NHTSA campaign number", + "title": "NHTSA ID" + }, + "manufacturer_id": { + "type": "string", + "description": "Manufacturer's recall ID", + "title": "Manufacturer ID" + }, + "recall_campaign_type": { + "type": "string", + "description": "Type of recall campaign", + "title": "Campaign Type" + }, + "recall_name": { + "type": "string", + "description": "Name/title of the recall", + "title": "Recall Name" + }, + "component": { + "type": "string", + "description": "Affected component(s)", + "title": "Component" + }, + "recall_description": { + "type": "string", + "description": "Description of the recall", + "title": "Recall Description" + }, + "risk_description": { + "type": "string", + "description": "Description of the safety risk", + "title": "Risk Description" + }, + "stop_sale": { + "type": "string", + "description": "Stop sale indicator", + "title": "Stop Sale" + }, + "dont_drive": { + "type": "string", + "description": "Do not drive indicator", + "title": "Don't Drive" + }, + "remedy_available": { + "type": "string", + "description": "Whether remedy is available", + "title": "Remedy Available" + }, + "recall_remedy": { + "type": "string", + "description": "Description of the remedy/fix", + "title": "Recall Remedy" + }, + "parts_available": { + "type": "string", + "description": "Parts availability status", + "title": "Parts Available" + }, + "labor_hours_min": { + "type": "string", + "description": "Minimum labor hours for repair", + "title": "Labor Hours Min" + }, + "labor_hours_max": { + "type": "string", + "description": "Maximum labor hours for repair", + "title": "Labor Hours Max" + }, + "recall_status": { + "type": "string", + "description": "Status of the recall (Complete/Incomplete)", + "title": "Recall Status" + } + } + }, + "title": "Recalls", + "description": "Array of recall campaigns affecting this vehicle" + } + }, + "title": "Data" + }, + "timestamp": { + "type": "string", + "description": "Response timestamp", + "title": "Timestamp" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid VIN" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "404": { + "description": "Not Found - No recall data available for this VIN" + } + } + } + }, + "/v2/platedecoder": { + "get": { + "operationId": "DecodeLicensePlate", + "summary": "Decode License Plate", + "x-ms-summary": "Decode License Plate Info", + "description": "Decode license plate information by plate number and country. State is required for US, AU, CA, and PK. District is required for Pakistan. Returns vehicle identification details including VIN, make, model, year, color, and specifications.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "plate", + "in": "query", + "x-ms-summary": "Plate Number", + "description": "License plate number", + "required": true, + "type": "string" + }, + { + "name": "country", + "in": "query", + "x-ms-summary": "Country Code", + "description": "Country code (US, CA, AU, UK, PK, BR, IN, MX, NZ, IT, ES, IE). Optional for US only, defaults to 'US'.", + "required": true, + "type": "string", + "default": "US" + }, + { + "name": "state", + "in": "query", + "x-ms-summary": "State/Province", + "description": "State or province code. Required for US, CA, AU, and PK. Examples: CA, NY (US), ON (CA), NSW (AU)", + "required": false, + "type": "string" + }, + { + "name": "district", + "in": "query", + "x-ms-summary": "District", + "description": "District code. Required only for Pakistan (PK).", + "required": false, + "type": "string", + "x-ms-visibility": "advanced" + } + ], + "responses": { + "200": { + "description": "Successful response - License plate decoded", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "input": { + "type": "object", + "properties": { + "plate": { + "type": "string", + "description": "License plate number", + "title": "Plate" + }, + "state": { + "type": "string", + "description": "State or province code", + "title": "State" + }, + "country": { + "type": "string", + "description": "Country code", + "title": "Country" + } + }, + "title": "Input" + }, + "description": { + "type": "string", + "description": "Full vehicle description", + "title": "Description" + }, + "make": { + "type": "string", + "description": "Vehicle make", + "title": "Make" + }, + "model": { + "type": "string", + "description": "Vehicle model", + "title": "Model" + }, + "trim": { + "type": "string", + "description": "Vehicle trim level", + "title": "Trim" + }, + "vin": { + "type": "string", + "description": "Vehicle Identification Number", + "title": "VIN" + }, + "style": { + "type": "string", + "description": "Vehicle style", + "title": "Style" + }, + "year": { + "type": "string", + "description": "Model year", + "title": "Year" + }, + "assembly": { + "type": "string", + "description": "Country where vehicle was assembled", + "title": "Assembly" + }, + "fuel_type": { + "type": "string", + "description": "Fuel type", + "title": "Fuel Type" + }, + "color": { + "type": "string", + "description": "Vehicle color", + "title": "Color" + }, + "body_style": { + "type": "string", + "description": "Body style", + "title": "Body Style" + }, + "engine_size": { + "type": "string", + "description": "Engine size and type", + "title": "Engine Size" + }, + "drive_type": { + "type": "string", + "description": "Drive type (FWD, RWD, AWD, 4WD)", + "title": "Drive Type" + }, + "transmission": { + "type": "string", + "description": "Transmission type", + "title": "Transmission" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid plate or missing required state/district parameters" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "404": { + "description": "Not Found - Plate not found in database" + } + } + } + }, + "/images": { + "get": { + "operationId": "GetVehicleImages", + "summary": "Get Vehicle Images", + "x-ms-summary": "Fetch Vehicle Images by Make & Model", + "description": "Fetch vehicle images by make, model, year, trim, color, angle, and other optional parameters. Returns image URLs with metadata including dimensions, thumbnails, and publication dates.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "make", + "in": "query", + "x-ms-summary": "Make", + "description": "Vehicle make (e.g., Toyota, BMW, Ford)", + "required": true, + "type": "string" + }, + { + "name": "model", + "in": "query", + "x-ms-summary": "Model", + "description": "Vehicle model (e.g., Tacoma, X5, Mustang)", + "required": true, + "type": "string" + }, + { + "name": "year", + "in": "query", + "x-ms-summary": "Year", + "description": "Model year (e.g., 2018, 2020)", + "required": false, + "type": "string" + }, + { + "name": "trim", + "in": "query", + "x-ms-summary": "Trim", + "description": "Vehicle trim level (e.g., SR5, Limited, Sport)", + "required": false, + "type": "string", + "x-ms-visibility": "advanced" + }, + { + "name": "color", + "in": "query", + "x-ms-summary": "Color", + "description": "Vehicle color (e.g., blue, red, white, black)", + "required": false, + "type": "string", + "x-ms-visibility": "advanced" + }, + { + "name": "transparent", + "in": "query", + "x-ms-summary": "Transparent Background", + "description": "Return images with transparent background", + "required": false, + "type": "boolean", + "x-ms-visibility": "advanced" + }, + { + "name": "angle", + "in": "query", + "x-ms-summary": "Angle", + "description": "Image angle perspective", + "required": false, + "type": "string", + "enum": ["front", "side", "back", "interior"], + "x-ms-visibility": "advanced" + }, + { + "name": "photoType", + "in": "query", + "x-ms-summary": "Photo Type", + "description": "Type of photo to retrieve", + "required": false, + "type": "string", + "enum": ["interior", "exterior", "engine"], + "x-ms-visibility": "advanced" + }, + { + "name": "size", + "in": "query", + "x-ms-summary": "Image Size", + "description": "Preferred image size", + "required": false, + "type": "string", + "enum": ["All", "Small", "Medium", "Large", "Wallpaper"], + "x-ms-visibility": "advanced" + }, + { + "name": "license", + "in": "query", + "x-ms-summary": "License Type", + "description": "Image license/usage rights", + "required": false, + "type": "string", + "enum": [ + "Public", + "Share", + "ShareCommercially", + "Modify", + "ModifyCommercially" + ], + "x-ms-visibility": "advanced" + } + ], + "responses": { + "200": { + "description": "Successful response - Vehicle images retrieved", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "error": { + "type": "string", + "description": "Error message if any", + "title": "Error" + }, + "images": { + "type": "array", + "items": { + "type": "object", + "properties": { + "mime": { + "type": "string", + "description": "MIME type of the image", + "title": "MIME Type" + }, + "link": { + "type": "string", + "description": "Direct link to the full-size image", + "title": "Image Link" + }, + "contextLink": { + "type": "string", + "description": "Link to the webpage containing the image", + "title": "Context Link" + }, + "height": { + "type": "integer", + "format": "int32", + "description": "Image height in pixels", + "title": "Height" + }, + "width": { + "type": "integer", + "format": "int32", + "description": "Image width in pixels", + "title": "Width" + }, + "byteSize": { + "type": "integer", + "format": "int32", + "description": "Image file size in bytes", + "title": "Byte Size" + }, + "thumbnailLink": { + "type": "string", + "description": "Link to the thumbnail image", + "title": "Thumbnail Link" + }, + "thumbnailHeight": { + "type": "integer", + "format": "int32", + "description": "Thumbnail height in pixels", + "title": "Thumbnail Height" + }, + "thumbnailWidth": { + "type": "integer", + "format": "int32", + "description": "Thumbnail width in pixels", + "title": "Thumbnail Width" + }, + "hostPageDomainFriendlyName": { + "type": "string", + "description": "Friendly name of the hosting domain", + "title": "Host Domain" + }, + "accentColor": { + "type": "string", + "description": "Dominant accent color in hex format", + "title": "Accent Color" + }, + "datePublished": { + "type": "string", + "description": "Date when the image was published", + "title": "Date Published" + } + } + }, + "title": "Images", + "description": "Array of vehicle images with metadata" + }, + "query": { + "type": "object", + "properties": { + "year": { + "type": "string", + "description": "Year parameter used in query", + "title": "Year" + }, + "make": { + "type": "string", + "description": "Make parameter used in query", + "title": "Make" + }, + "model": { + "type": "string", + "description": "Model parameter used in query", + "title": "Model" + }, + "color": { + "type": "string", + "description": "Color parameter used in query", + "title": "Color" + }, + "format": { + "type": "string", + "description": "Format parameter used in query", + "title": "Format" + } + }, + "title": "Query", + "description": "Echo of the query parameters used" + } + } + } + }, + "400": { + "description": "Bad Request - Missing required parameters (make and model)" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "404": { + "description": "Not Found - No images found for the specified vehicle" + } + } + } + }, + "/v2/marketvalue": { + "get": { + "operationId": "GetMarketValue", + "summary": "Get Vehicle Market Value", + "x-ms-summary": "Estimate Vehicle Market Value by VIN", + "description": "Estimate vehicle market value based on VIN using millions of historical vehicle sales data. Returns wholesale, retail, trade-in values with condition-based pricing, mileage adjustments, and optional equipment valuations.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "vin", + "in": "query", + "x-ms-summary": "VIN Number", + "description": "Vehicle Identification Number (VIN) - 17 characters", + "required": true, + "type": "string" + }, + { + "name": "state", + "in": "query", + "x-ms-summary": "State", + "description": "US state code for regional pricing adjustments (e.g., CA, NY, TX)", + "required": false, + "type": "string", + "x-ms-visibility": "advanced" + } + ], + "responses": { + "200": { + "description": "Successful response - Market value retrieved", + "schema": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "Unique identifier for this valuation", + "title": "UID" + }, + "input": { + "type": "object", + "properties": { + "vin": { + "type": "string", + "description": "The VIN number", + "title": "VIN" + }, + "country": { + "type": "string", + "description": "Country code", + "title": "Country" + } + }, + "title": "Input" + }, + "publish_date": { + "type": "string", + "description": "Valuation data publish date", + "title": "Publish Date" + }, + "data_freq": { + "type": "string", + "description": "Data update frequency", + "title": "Data Frequency" + }, + "state": { + "type": "string", + "description": "State code", + "title": "State" + }, + "country": { + "type": "string", + "description": "Country code", + "title": "Country" + }, + "uvc": { + "type": "string", + "description": "Universal vehicle code", + "title": "UVC" + }, + "group_num": { + "type": "string", + "description": "Vehicle group number", + "title": "Group Number" + }, + "model_year": { + "type": "string", + "description": "Model year", + "title": "Model Year" + }, + "make": { + "type": "string", + "description": "Vehicle make", + "title": "Make" + }, + "model": { + "type": "string", + "description": "Vehicle model", + "title": "Model" + }, + "series": { + "type": "string", + "description": "Vehicle series/trim", + "title": "Series" + }, + "style": { + "type": "string", + "description": "Body style", + "title": "Style" + }, + "mileage_cat": { + "type": "string", + "description": "Mileage category", + "title": "Mileage Category" + }, + "class_code": { + "type": "string", + "description": "Vehicle class code", + "title": "Class Code" + }, + "class_name": { + "type": "string", + "description": "Vehicle class name", + "title": "Class Name" + }, + "whole_xclean": { + "type": "object", + "properties": { + "base_whole_xclean": { + "type": "integer", + "title": "Base Wholesale Extra Clean" + }, + "mileage_whole_xclean": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_whole_xclean": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_whole_xclean": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_whole_xclean": { + "type": "integer", + "title": "Adjusted Wholesale Extra Clean" + } + }, + "title": "Wholesale Extra Clean", + "description": "Wholesale value for extra clean condition" + }, + "whole_clean": { + "type": "object", + "properties": { + "base_whole_clean": { + "type": "integer", + "title": "Base Wholesale Clean" + }, + "mileage_whole_clean": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_whole_clean": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_whole_clean": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_whole_clean": { + "type": "integer", + "title": "Adjusted Wholesale Clean" + } + }, + "title": "Wholesale Clean", + "description": "Wholesale value for clean condition" + }, + "whole_avg": { + "type": "object", + "properties": { + "base_whole_avg": { + "type": "integer", + "title": "Base Wholesale Average" + }, + "mileage_whole_avg": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_whole_avg": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_whole_avg": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_whole_avg": { + "type": "integer", + "title": "Adjusted Wholesale Average" + } + }, + "title": "Wholesale Average", + "description": "Wholesale value for average condition" + }, + "whole_rough": { + "type": "object", + "properties": { + "base_whole_rough": { + "type": "integer", + "title": "Base Wholesale Rough" + }, + "mileage_whole_rough": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_whole_rough": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_whole_rough": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_whole_rough": { + "type": "integer", + "title": "Adjusted Wholesale Rough" + } + }, + "title": "Wholesale Rough", + "description": "Wholesale value for rough condition" + }, + "retail_xclean": { + "type": "object", + "properties": { + "base_retail_xclean": { + "type": "integer", + "title": "Base Retail Extra Clean" + }, + "mileage_retail_xclean": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_retail_xclean": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_retail_xclean": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_retail_xclean": { + "type": "integer", + "title": "Adjusted Retail Extra Clean" + } + }, + "title": "Retail Extra Clean", + "description": "Retail value for extra clean condition" + }, + "retail_clean": { + "type": "object", + "properties": { + "base_retail_clean": { + "type": "integer", + "title": "Base Retail Clean" + }, + "mileage_retail_clean": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_retail_clean": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_retail_clean": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_retail_clean": { + "type": "integer", + "title": "Adjusted Retail Clean" + } + }, + "title": "Retail Clean", + "description": "Retail value for clean condition" + }, + "retail_avg": { + "type": "object", + "properties": { + "base_retail_avg": { + "type": "integer", + "title": "Base Retail Average" + }, + "mileage_retail_avg": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_retail_avg": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_retail_avg": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_retail_avg": { + "type": "integer", + "title": "Adjusted Retail Average" + } + }, + "title": "Retail Average", + "description": "Retail value for average condition" + }, + "retail_rough": { + "type": "object", + "properties": { + "base_retail_rough": { + "type": "integer", + "title": "Base Retail Rough" + }, + "mileage_retail_rough": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_retail_rough": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_retail_rough": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_retail_rough": { + "type": "integer", + "title": "Adjusted Retail Rough" + } + }, + "title": "Retail Rough", + "description": "Retail value for rough condition" + }, + "trade_in_clean": { + "type": "object", + "properties": { + "base_trade_in_clean": { + "type": "integer", + "title": "Base Trade-In Clean" + }, + "mileage_trade_in_clean": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_trade_in_clean": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_trade_in_clean": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_trade_in_clean": { + "type": "integer", + "title": "Adjusted Trade-In Clean" + } + }, + "title": "Trade-In Clean", + "description": "Trade-in value for clean condition" + }, + "trade_in_avg": { + "type": "object", + "properties": { + "base_trade_in_avg": { + "type": "integer", + "title": "Base Trade-In Average" + }, + "mileage_trade_in_avg": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_trade_in_clean": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_trade_in_clean": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_trade_in_clean": { + "type": "integer", + "title": "Adjusted Trade-In Average" + } + }, + "title": "Trade-In Average", + "description": "Trade-in value for average condition" + }, + "trade_in_rough": { + "type": "object", + "properties": { + "base_trade_in_rough": { + "type": "integer", + "title": "Base Trade-In Rough" + }, + "mileage_trade_in_rough": { + "type": "integer", + "title": "Mileage Adjustment" + }, + "add_deduct_trade_in_rough": { + "type": "integer", + "title": "Add/Deduct" + }, + "regional_trade_in_rough": { + "type": "integer", + "title": "Regional Adjustment" + }, + "adjusted_trade_in_rough": { + "type": "integer", + "title": "Adjusted Trade-In Rough" + } + }, + "title": "Trade-In Rough", + "description": "Trade-in value for rough condition" + }, + "msrp": { + "type": "integer", + "description": "Manufacturer's Suggested Retail Price", + "title": "MSRP" + }, + "retail_equipped": { + "type": "integer", + "description": "Retail price with equipment", + "title": "Retail Equipped" + }, + "price_includes": { + "type": "string", + "description": "Features included in price", + "title": "Price Includes" + }, + "wheel_base": { + "type": "number", + "description": "Wheelbase in inches", + "title": "Wheelbase" + }, + "tire_size": { + "type": "string", + "description": "Tire size", + "title": "Tire Size" + }, + "gvw": { + "type": "integer", + "description": "Gross vehicle weight", + "title": "GVW" + }, + "seat_cap": { + "type": "string", + "description": "Seating capacity", + "title": "Seat Capacity" + }, + "fuel_type": { + "type": "string", + "description": "Fuel type", + "title": "Fuel Type" + }, + "fuel_cap": { + "type": "string", + "description": "Fuel tank capacity", + "title": "Fuel Capacity" + }, + "fuel_delivery": { + "type": "string", + "description": "Fuel delivery system", + "title": "Fuel Delivery" + }, + "hwy_mpg": { + "type": "string", + "description": "Highway MPG", + "title": "Highway MPG" + }, + "city_mpg": { + "type": "string", + "description": "City MPG", + "title": "City MPG" + }, + "engine_description": { + "type": "string", + "description": "Engine description", + "title": "Engine Description" + }, + "cylinders": { + "type": "string", + "description": "Number of cylinders", + "title": "Cylinders" + }, + "engine_displacement": { + "type": "string", + "description": "Engine displacement", + "title": "Engine Displacement" + }, + "engine_turbocharged": { + "type": "string", + "description": "Turbocharger status", + "title": "Turbocharged" + }, + "base_hp": { + "type": "string", + "description": "Base horsepower", + "title": "Base HP" + }, + "torque": { + "type": "string", + "description": "Torque rating", + "title": "Torque" + }, + "transmission": { + "type": "string", + "description": "Transmission type", + "title": "Transmission" + }, + "drivetrain": { + "type": "string", + "description": "Drivetrain type", + "title": "Drivetrain" + }, + "num_gears": { + "type": "string", + "description": "Number of gears", + "title": "Number of Gears" + }, + "ext_doors": { + "type": "string", + "description": "Number of doors", + "title": "Exterior Doors" + }, + "airbags": { + "type": "string", + "description": "Airbag information", + "title": "Airbags" + }, + "basic_warranty": { + "type": "string", + "description": "Basic warranty coverage", + "title": "Basic Warranty" + }, + "road_assist_warranty": { + "type": "string", + "description": "Road assistance warranty", + "title": "Road Assist Warranty" + }, + "add_deduct_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uoc": { "type": "string", "title": "Option Code" }, + "name": { "type": "string", "title": "Option Name" }, + "xclean": { + "type": "integer", + "title": "Extra Clean Value" + }, + "clean": { "type": "integer", "title": "Clean Value" }, + "avg": { "type": "integer", "title": "Average Value" }, + "rough": { "type": "integer", "title": "Rough Value" } + } + }, + "title": "Add/Deduct List", + "description": "Optional equipment value adjustments" + }, + "mileage_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "model_year": { "type": "string", "title": "Model Year" }, + "range_begin": { + "type": "integer", + "title": "Range Begin" + }, + "range_end": { "type": "integer", "title": "Range End" }, + "xclean": { + "type": "integer", + "title": "Extra Clean Adjustment" + }, + "clean": { + "type": "integer", + "title": "Clean Adjustment" + }, + "avg": { + "type": "integer", + "title": "Average Adjustment" + }, + "rough": { + "type": "integer", + "title": "Rough Adjustment" + } + } + }, + "title": "Mileage List", + "description": "Mileage-based value adjustments" + }, + "retail": { + "type": "integer", + "description": "Retail value", + "title": "Retail" + }, + "trade_in": { + "type": "integer", + "description": "Trade-in value", + "title": "Trade-In" + }, + "rough_trade_in": { + "type": "integer", + "description": "Rough trade-in value", + "title": "Rough Trade-In" + }, + "average_trade_in": { + "type": "integer", + "description": "Average trade-in value", + "title": "Average Trade-In" + }, + "loan_value": { + "type": "integer", + "description": "Loan value", + "title": "Loan Value" + }, + "auction_values": { + "type": "object", + "properties": { + "low_auction_value": { + "type": "integer", + "title": "Low Auction Value" + }, + "average_auction_value": { + "type": "integer", + "title": "Average Auction Value" + }, + "high_auction_value": { + "type": "integer", + "title": "High Auction Value" + }, + "date_range": { "type": "string", "title": "Date Range" } + }, + "title": "Auction Values", + "description": "Auction market values" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid VIN" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "404": { + "description": "Not Found - No market value data available for this VIN" + } + } + } + }, + "/history": { + "get": { + "operationId": "GetVehicleHistory", + "summary": "Get Vehicle History", + "x-ms-summary": "Retrieve Complete Vehicle History Report", + "description": "Retrieve comprehensive vehicle history including title information, brands, junk and salvage records, insurance records, odometer readings, and ownership history by VIN.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "vin", + "in": "query", + "x-ms-summary": "VIN Number", + "description": "Vehicle Identification Number (VIN) - 17 characters", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successful response - Vehicle history retrieved", + "schema": { + "type": "object", + "properties": { + "vin": { + "type": "string", + "description": "Vehicle Identification Number", + "title": "VIN" + }, + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "vinChanged": { + "type": "boolean", + "description": "Whether the VIN has been changed", + "title": "VIN Changed" + }, + "brandsRecordCount": { + "type": "integer", + "format": "int32", + "description": "Number of brand records found", + "title": "Brands Record Count" + }, + "junkAndSalvageInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ReportingEntityAbstract": { + "type": "object", + "properties": { + "ReportingEntityCategoryCode": { + "type": "string", + "description": "Reporting entity category code", + "title": "Category Code" + }, + "IdentificationID": { + "type": "string", + "description": "Entity identification ID", + "title": "ID" + }, + "ReportingEntityCategoryText": { + "type": "string", + "description": "Category description", + "title": "Category" + }, + "EntityName": { + "type": "string", + "description": "Entity name", + "title": "Name" + }, + "LocationCityName": { + "type": "string", + "description": "City location", + "title": "City" + }, + "LocationStateUSPostalServiceCode": { + "type": "string", + "description": "State code", + "title": "State" + }, + "TelephoneNumberFullID": { + "type": "string", + "description": "Phone number", + "title": "Phone" + }, + "ContactEmailID": { + "type": "string", + "description": "Contact email", + "title": "Email" + } + }, + "title": "Reporting Entity" + }, + "VehicleObtainedDate": { + "type": "string", + "description": "Date vehicle was obtained", + "title": "Obtained Date" + }, + "VehicleDispositionText": { + "type": "string", + "description": "Vehicle disposition status", + "title": "Disposition" + }, + "VehicleIntendedForExportCode": { + "type": "string", + "description": "Whether intended for export (Y/N)", + "title": "For Export" + } + } + }, + "title": "Junk and Salvage Information", + "description": "Records from junk and salvage entities" + }, + "insuranceInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ReportingEntityAbstract": { + "type": "object", + "properties": { + "ReportingEntityCategoryCode": { + "type": "string", + "description": "Reporting entity category code", + "title": "Category Code" + }, + "IdentificationID": { + "type": "string", + "description": "Entity identification ID", + "title": "ID" + }, + "ReportingEntityCategoryText": { + "type": "string", + "description": "Category description", + "title": "Category" + }, + "EntityName": { + "type": "string", + "description": "Insurance company name", + "title": "Insurance Company" + }, + "LocationCityName": { + "type": "string", + "description": "City location", + "title": "City" + }, + "LocationStateUSPostalServiceCode": { + "type": "string", + "description": "State code", + "title": "State" + }, + "TelephoneNumberFullID": { + "type": "string", + "description": "Phone number", + "title": "Phone" + }, + "ContactEmailID": { + "type": "string", + "description": "Contact email", + "title": "Email" + } + }, + "title": "Insurance Company" + }, + "VehicleObtainedDate": { + "type": "string", + "description": "Date vehicle was obtained by insurance", + "title": "Obtained Date" + } + } + }, + "title": "Insurance Information", + "description": "Insurance company records" + }, + "brandsInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Brand code", + "title": "Code" + }, + "name": { + "type": "string", + "description": "Brand name", + "title": "Name" + }, + "description": { + "type": "string", + "description": "Brand description", + "title": "Description" + }, + "record": { + "type": "object", + "properties": { + "ReportingEntityAbstract": { + "type": "object", + "properties": { + "ReportingEntityCategoryCode": { + "type": "string", + "title": "Category Code" + }, + "IdentificationID": { + "type": "string", + "title": "Jurisdiction" + }, + "EntityName": { + "type": "string", + "title": "State Name" + } + }, + "title": "Reporting Entity" + }, + "VehicleBrandCode": { + "type": "string", + "description": "Vehicle brand code", + "title": "Brand Code" + }, + "VehicleBrandDate": { + "type": "object", + "properties": { + "Date": { + "type": "string", + "description": "Date brand was applied", + "title": "Brand Date" + } + }, + "title": "Brand Date" + } + }, + "title": "Brand Record" + } + } + }, + "title": "Brands Information", + "description": "Vehicle brand history (salvage, flood, etc.)" + }, + "currentTitleInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "VehicleIdentification": { + "type": "object", + "properties": { + "IdentificationID": { + "type": "string", + "description": "VIN", + "title": "VIN" + } + }, + "title": "Vehicle Identification" + }, + "TitleIssuingAuthorityName": { + "type": "string", + "description": "State that issued the title", + "title": "Issuing State" + }, + "TitleIssueDate": { + "type": "object", + "properties": { + "Date": { + "type": "string", + "description": "Title issue date", + "title": "Issue Date" + } + }, + "title": "Title Issue Date" + }, + "VehicleOdometerReadingMeasure": { + "type": "string", + "description": "Odometer reading", + "title": "Odometer Reading" + }, + "VehicleOdometerReadingUnitCode": { + "type": "string", + "description": "Unit of measurement (M=Miles, K=Kilometers)", + "title": "Unit" + }, + "RecordMatchSequenceID": { + "type": "string", + "description": "Record sequence ID", + "title": "Sequence ID" + }, + "HistoricTitleAbstract": { + "type": "array", + "items": { + "type": "object", + "properties": { + "VehicleIdentification": { + "type": "object", + "properties": { + "IdentificationID": { + "type": "string", + "title": "VIN" + } + }, + "title": "Vehicle ID" + }, + "TitleIssuingAuthorityName": { + "type": "string", + "title": "Issuing State" + }, + "TitleIssueDate": { + "type": "object", + "properties": { + "Date": { + "type": "string", + "title": "Issue Date" + } + }, + "title": "Issue Date" + }, + "VehicleOdometerReadingMeasure": { + "type": "string", + "title": "Odometer Reading" + }, + "VehicleOdometerReadingUnitCode": { + "type": "string", + "title": "Unit" + } + } + }, + "title": "Historic Titles", + "description": "Previous title records" + } + } + }, + "title": "Current Title Information", + "description": "Current title and historic title records" + }, + "historyInformation": { + "type": "array", + "items": { + "type": "object", + "properties": { + "VehicleIdentification": { + "type": "object", + "properties": { + "IdentificationID": { + "type": "string", + "description": "VIN", + "title": "VIN" + } + }, + "title": "Vehicle Identification" + }, + "TitleIssuingAuthorityName": { + "type": "string", + "description": "State that issued the title", + "title": "Issuing State" + }, + "TitleIssueDate": { + "type": "object", + "properties": { + "Date": { + "type": "string", + "description": "Title issue date", + "title": "Issue Date" + } + }, + "title": "Title Issue Date" + }, + "VehicleOdometerReadingMeasure": { + "type": "string", + "description": "Odometer reading", + "title": "Odometer Reading" + }, + "VehicleOdometerReadingUnitCode": { + "type": "string", + "description": "Unit of measurement (M=Miles, K=Kilometers)", + "title": "Unit" + } + } + }, + "title": "History Information", + "description": "Chronological title history" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid VIN" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "404": { + "description": "Not Found - No history data available for this VIN" + } + } + } + }, + "/platerecognition": { + "post": { + "operationId": "RecognizePlateFromImage", + "summary": "Recognize License Plate from Image", + "x-ms-summary": "Read & Decode Plates from Images", + "description": "Read and decode license plates from images using AI/ML recognition technology. Supports image URLs. Returns detected plate numbers, region codes, confidence scores, and vehicle type with bounding box coordinates.", + "x-ms-visibility": "important", + "consumes": ["application/json"], + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "Content-Type", + "in": "header", + "x-ms-summary": "Content Type", + "description": "Content type for the request body", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "x-ms-summary": "Image URL", + "description": "URL of the image containing the license plate", + "required": true, + "schema": { + "type": "object", + "properties": { + "upload_url": { + "type": "string", + "description": "URL of the image containing the license plate", + "title": "Upload URL" + } + }, + "required": ["upload_url"] + } + } + ], + "responses": { + "200": { + "description": "Successful response - Plate recognized from image", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "message": { + "type": "string", + "description": "Response message or error details", + "title": "Message" + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "plate": { + "type": "string", + "description": "Detected license plate number", + "title": "Plate Number" + }, + "score": { + "type": "number", + "format": "float", + "description": "Confidence score for plate detection (0-1)", + "title": "Detection Score" + }, + "dscore": { + "type": "number", + "format": "float", + "description": "Overall detection confidence score", + "title": "Overall Score" + }, + "box": { + "type": "object", + "properties": { + "xmin": { + "type": "integer", + "format": "int32", + "description": "Minimum X coordinate of bounding box", + "title": "X Min" + }, + "ymin": { + "type": "integer", + "format": "int32", + "description": "Minimum Y coordinate of bounding box", + "title": "Y Min" + }, + "xmax": { + "type": "integer", + "format": "int32", + "description": "Maximum X coordinate of bounding box", + "title": "X Max" + }, + "ymax": { + "type": "integer", + "format": "int32", + "description": "Maximum Y coordinate of bounding box", + "title": "Y Max" + } + }, + "title": "Plate Bounding Box", + "description": "Coordinates of the plate location in the image" + }, + "region": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Region code (e.g., us-ca for California)", + "title": "Region Code" + }, + "score": { + "type": "number", + "format": "float", + "description": "Confidence score for region detection", + "title": "Region Score" + } + }, + "title": "Region", + "description": "Detected region/state information" + }, + "candidates": { + "type": "array", + "items": { + "type": "object", + "properties": { + "plate": { + "type": "string", + "description": "Candidate plate number", + "title": "Plate" + }, + "score": { + "type": "number", + "format": "float", + "description": "Confidence score for this candidate", + "title": "Score" + } + } + }, + "title": "Candidates", + "description": "Alternative plate number interpretations" + }, + "vehicle": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Detected vehicle type (e.g., Sedan, SUV, Truck)", + "title": "Vehicle Type" + }, + "score": { + "type": "number", + "format": "float", + "description": "Confidence score for vehicle detection", + "title": "Vehicle Score" + }, + "box": { + "type": "object", + "properties": { + "xmin": { + "type": "integer", + "format": "int32", + "description": "Minimum X coordinate", + "title": "X Min" + }, + "ymin": { + "type": "integer", + "format": "int32", + "description": "Minimum Y coordinate", + "title": "Y Min" + }, + "xmax": { + "type": "integer", + "format": "int32", + "description": "Maximum X coordinate", + "title": "X Max" + }, + "ymax": { + "type": "integer", + "format": "int32", + "description": "Maximum Y coordinate", + "title": "Y Max" + } + }, + "title": "Vehicle Bounding Box" + } + }, + "title": "Vehicle", + "description": "Detected vehicle information" + } + } + }, + "title": "Recognition Results", + "description": "Array of detected plates and vehicle information" + }, + "processing_time": { + "type": "number", + "format": "float", + "description": "Processing time in milliseconds", + "title": "Processing Time (ms)" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid image URL or image format" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "422": { + "description": "Unprocessable Entity - Image could not be processed or no plates detected" + } + } + } + }, + "/v1/vinocr": { + "post": { + "operationId": "ExtractVINFromImage", + "summary": "Extract VIN from Image", + "x-ms-summary": "Extract VINs from Images using OCR", + "description": "Extract Vehicle Identification Numbers (VINs) from images using Optical Character Recognition (OCR). Supports image URLs. Returns detected VIN with confidence score, bounding box coordinates, and alternative candidates.", + "x-ms-visibility": "important", + "consumes": ["application/json"], + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "Content-Type", + "in": "header", + "x-ms-summary": "Content Type", + "description": "Content type for the request body", + "required": true, + "type": "string", + "default": "application/json", + "x-ms-visibility": "internal" + }, + { + "name": "body", + "in": "body", + "x-ms-summary": "Image URL", + "description": "URL of the image containing the VIN", + "required": true, + "schema": { + "type": "object", + "properties": { + "upload_url": { + "type": "string", + "description": "URL of the image containing the VIN", + "title": "Upload URL" + } + }, + "required": ["upload_url"] + } + } + ], + "responses": { + "200": { + "description": "Successful response - VIN extracted from image", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "vin": { + "type": "string", + "description": "Extracted Vehicle Identification Number (VIN)", + "title": "VIN" + }, + "confidence": { + "type": "number", + "format": "float", + "description": "Confidence score for VIN detection (0-1)", + "title": "Confidence" + }, + "box": { + "type": "object", + "properties": { + "xmin": { + "type": "integer", + "format": "int32", + "description": "Minimum X coordinate of bounding box", + "title": "X Min" + }, + "ymin": { + "type": "integer", + "format": "int32", + "description": "Minimum Y coordinate of bounding box", + "title": "Y Min" + }, + "xmax": { + "type": "integer", + "format": "int32", + "description": "Maximum X coordinate of bounding box", + "title": "X Max" + }, + "ymax": { + "type": "integer", + "format": "int32", + "description": "Maximum Y coordinate of bounding box", + "title": "Y Max" + } + }, + "title": "Bounding Box", + "description": "Coordinates of the VIN location in the image" + }, + "candidates": { + "type": "array", + "items": { + "type": "object", + "properties": { + "vin": { + "type": "string", + "description": "Candidate VIN number", + "title": "VIN" + }, + "confidence": { + "type": "number", + "format": "float", + "description": "Confidence score for this candidate", + "title": "Confidence" + }, + "box": { + "type": "object", + "properties": { + "xmin": { + "type": "integer", + "format": "int32", + "description": "Minimum X coordinate", + "title": "X Min" + }, + "ymin": { + "type": "integer", + "format": "int32", + "description": "Minimum Y coordinate", + "title": "Y Min" + }, + "xmax": { + "type": "integer", + "format": "int32", + "description": "Maximum X coordinate", + "title": "X Max" + }, + "ymax": { + "type": "integer", + "format": "int32", + "description": "Maximum Y coordinate", + "title": "Y Max" + } + }, + "title": "Bounding Box" + } + } + }, + "title": "Candidates", + "description": "Alternative VIN interpretations with confidence scores" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid image URL or image format" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "422": { + "description": "Unprocessable Entity - Image could not be processed or no VIN detected" + } + } + } + }, + "/v1/ymm": { + "get": { + "operationId": "QueryByYearMakeModel", + "summary": "Query by Year, Make, Model", + "x-ms-summary": "Query Vehicle by Year, Make, Model & Trim", + "description": "Query vehicle information by year, make, model, and optional trim level. Returns comprehensive vehicle details including MSRP, features, colors, dimensions, warranty, and optional packages.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "year", + "in": "query", + "x-ms-summary": "Year", + "description": "Vehicle year (e.g., 2023)", + "required": true, + "type": "string" + }, + { + "name": "make", + "in": "query", + "x-ms-summary": "Make", + "description": "Vehicle make (e.g., Toyota, BMW, Ford)", + "required": true, + "type": "string" + }, + { + "name": "model", + "in": "query", + "x-ms-summary": "Model", + "description": "Vehicle model (e.g., Camry, X5, Mustang)", + "required": true, + "type": "string" + }, + { + "name": "trim", + "in": "query", + "x-ms-summary": "Trim", + "description": "Vehicle trim level (e.g., XLE, Limited, Sport) - Optional", + "required": false, + "type": "string", + "x-ms-visibility": "advanced" + } + ], + "responses": { + "200": { + "description": "Successful response - Vehicle data retrieved by year, make, model", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "input": { + "type": "object", + "properties": { + "year": { + "type": "string", + "description": "Query year", + "title": "Year" + }, + "make": { + "type": "string", + "description": "Query make", + "title": "Make" + }, + "model": { + "type": "string", + "description": "Query model", + "title": "Model" + }, + "trim": { + "type": "string", + "description": "Query trim", + "title": "Trim" + } + }, + "title": "Input" + }, + "bestMatch": { + "type": "object", + "properties": { + "make": { + "type": "string", + "description": "Vehicle make", + "title": "Make" + }, + "model": { + "type": "string", + "description": "Vehicle model", + "title": "Model" + }, + "year": { + "type": "integer", + "format": "int32", + "description": "Model year", + "title": "Year" + }, + "name": { + "type": "string", + "description": "Full vehicle name with trim and specs", + "title": "Name" + }, + "base_msrp": { + "type": "integer", + "format": "int32", + "description": "Base MSRP price", + "title": "Base MSRP" + }, + "base_invoice": { + "type": "integer", + "format": "int32", + "description": "Base invoice price", + "title": "Base Invoice" + }, + "total_seating": { + "type": "integer", + "format": "int32", + "description": "Total seating capacity", + "title": "Total Seating" + }, + "is_truck": { + "type": "boolean", + "description": "Whether vehicle is a truck", + "title": "Is Truck" + }, + "is_electric": { + "type": "boolean", + "description": "Whether vehicle is electric", + "title": "Is Electric" + }, + "is_plugin_electric": { + "type": "boolean", + "description": "Whether vehicle is plug-in electric", + "title": "Is Plugin Electric" + }, + "color": { + "type": "object", + "properties": { + "exterior": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Exterior color name", + "title": "Color Name" + }, + "rgb": { + "type": "string", + "description": "RGB color values", + "title": "RGB" + } + } + }, + "title": "Exterior Colors" + }, + "interior": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Interior color name", + "title": "Color Name" + }, + "rgb": { + "type": "string", + "description": "RGB color values", + "title": "RGB" + } + } + }, + "title": "Interior Colors" + } + }, + "title": "Colors" + }, + "features": { + "type": "object", + "properties": { + "standard": { + "type": "array", + "items": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Feature category", + "title": "Category" + }, + "features": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Feature name", + "title": "Name" + }, + "value": { + "type": "string", + "description": "Feature value", + "title": "Value" + } + } + }, + "title": "Features" + } + } + }, + "title": "Standard Features" + }, + "optional": { + "type": "array", + "items": { + "type": "object", + "properties": { + "category": { + "type": "string", + "description": "Option category", + "title": "Category" + }, + "features": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Option name", + "title": "Name" + }, + "price": { + "type": "integer", + "format": "int32", + "description": "Option price", + "title": "Price" + } + } + }, + "title": "Options" + } + } + }, + "title": "Optional Features" + } + }, + "title": "Features" + } + }, + "title": "Best Match", + "description": "Best matching vehicle configuration" + }, + "trimOptions": { + "type": "array", + "items": { + "type": "object" + }, + "title": "Trim Options", + "description": "Available trim options for this vehicle" + }, + "timestamp": { + "type": "string", + "description": "Response timestamp", + "title": "Timestamp" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid or missing parameters" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "404": { + "description": "Not Found - No vehicle found matching the specified year, make, model, and trim" + } + } + } + }, + "/obdcodesdecoder": { + "get": { + "operationId": "DecodeOBDCode", + "summary": "Decode OBD Code", + "x-ms-summary": "Decode OBD Error/Diagnostic Codes", + "description": "Decode OBD (On-Board Diagnostics) error and diagnostic codes to get descriptions and troubleshooting information. Access a library of over 3000 OBD codes and their matching vehicle diagnosis.", + "x-ms-visibility": "important", + "parameters": [ + { + "name": "source", + "in": "query", + "x-ms-summary": "Source", + "description": "Request source identifier", + "required": true, + "type": "string", + "default": "power_automate", + "enum": ["power_automate"], + "x-ms-visibility": "internal" + }, + { + "name": "code", + "in": "query", + "x-ms-summary": "OBD Code", + "description": "OBD diagnostic code (e.g., P0115, P0420, C0035)", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successful response - OBD code decoded", + "schema": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "description": "Whether the request was successful", + "title": "Success" + }, + "code": { + "type": "string", + "description": "The OBD diagnostic code", + "title": "Code" + }, + "diagnosis": { + "type": "string", + "description": "Diagnosis description for the OBD code", + "title": "Diagnosis" + }, + "date": { + "type": "string", + "description": "Date of the code information", + "title": "Date" + } + } + } + }, + "400": { + "description": "Bad Request - Invalid OBD code format" + }, + "401": { + "description": "Unauthorized - Invalid API key" + }, + "404": { + "description": "Not Found - OBD code not found in database" + } + } + } + } + }, + "x-ms-capabilities": { + "testConnection": { + "operationId": "ValidateApiKey", + "parameters": {} + } + }, + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://api.carsxe.com/" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://api.carsxe.com/privacy-policy" + }, + { + "propertyName": "Categories", + "propertyValue": "Data" + } + ] +} diff --git a/certified-connectors/CarsXE/apiProperties.json b/certified-connectors/CarsXE/apiProperties.json new file mode 100644 index 0000000000..6dd9b601ba --- /dev/null +++ b/certified-connectors/CarsXE/apiProperties.json @@ -0,0 +1,41 @@ +{ + "properties": { + "connectionParameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "displayName": "CarsXE API Key", + "description": "Enter your CarsXE API key from your CarsXE dashboard.", + "tooltip": "Get it from https://api.carsxe.com/dashboard/developer", + "constraints": { + "required": "true" + } + } + } + }, + "iconBrandColor": "#000000", + "publisher": "CarsXE", + "stackOwner": "CarsXE", + "testConnection": { + "operationId": "ValidateApiKey" + }, + "policyTemplateInstances": [ + { + "templateId": "setqueryparameter", + "title": "Add format=json parameter", + "parameters": { + "x-ms-apimTemplateParameter.name": "format", + "x-ms-apimTemplateParameter.value": "json", + "x-ms-apimTemplateParameter.existsAction": "override" + } + }, + { + "templateId": "setconnectionstatustounauthenticated", + "title": "Mark unauthenticated when ValidateApiKey returns 401", + "parameters": { + "x-ms-apimTemplateParameter.statusCode": 401 + } + } + ] + } +} diff --git a/certified-connectors/CarsXE/readme.md b/certified-connectors/CarsXE/readme.md new file mode 100644 index 0000000000..cdb3de73cb --- /dev/null +++ b/certified-connectors/CarsXE/readme.md @@ -0,0 +1,186 @@ +# CarsXE Custom Connector for Power Automate & Power Apps + +The CarsXE Connector enables users to instantly access powerful automotive data inside Power Automate and Power Apps. With this connector, you can decode VINs, get detailed specs, estimate market value, retrieve vehicle history, access safety recalls, and much more — all through easy, no-code integration. Transform your automotive workflows with comprehensive vehicle intelligence at your fingertips. + +## Publisher: CarsXE + +## Prerequisites + +- A valid **CarsXE API Key** (obtain from [https://api.carsxe.com/dashboard/developer](https://api.carsxe.com/dashboard/developer)) +- **Microsoft Power Automate** or **Power Apps** license +- Access to create custom connectors in your Power Platform environment + +## Supported Operations + +The CarsXE connector provides 11 powerful operations covering comprehensive automotive data retrieval: + +### Get Vehicle Specs +Decode a VIN and retrieve full vehicle specifications including make, model, year, engine details, transmission, and more. Supports optional deep data for enhanced information. + +### Decode International VIN +Decode Vehicle Identification Numbers with worldwide support for international vehicles, providing comprehensive decoding capabilities beyond standard US VINs. + +### Decode License Plate +Decode license plate information by plate number, state, and country. Supports US, Canada, UK, and other international regions with state/province and district refinement options. + +### Get Market Value +Estimate vehicle market value based on VIN, with optional state-specific refinements to provide accurate regional pricing data. + +### Get Vehicle History +Retrieve comprehensive vehicle history including ownership records, accident reports, title information, odometer readings, and service history. + +### Get Vehicle Images +Fetch high-quality vehicle images by make, model, year, and trim. Supports customization options including color, angle, photo type, size, transparent backgrounds, and licensing. + +### Get Safety Recalls +Access safety recall data and active campaigns for specific vehicles by VIN, helping ensure vehicle safety compliance. + +### Plate Image Recognition +Read and decode license plates from images using advanced OCR (Optical Character Recognition) technology. Simply provide an image URL to extract plate information. + +### VIN OCR +Extract Vehicle Identification Numbers from images using OCR technology. Useful for scanning VIN stickers, plates, or documents. + +### Year Make Model Query +Query detailed vehicle information by specifying year, make, model, and optionally trim level. Perfect for building vehicle selection workflows. + +### OBD Codes Decoder +Decode OBD (On-Board Diagnostics) error and diagnostic codes to understand vehicle issues and maintenance requirements. + +## Obtaining Credentials + +This connector uses **API Key** authentication. + +1. Visit the CarsXE website at [https://api.carsxe.com](https://api.carsxe.com) +2. Sign up for an account or log in to your existing account +3. Navigate to the Developer Dashboard at [https://api.carsxe.com/dashboard/developer](https://api.carsxe.com/dashboard/developer) +4. Generate or copy your API key +5. When creating a new connection in Power Automate or Power Apps, enter this API key when prompted +6. The connector will automatically validate your key with CarsXE's `/auth/validate` endpoint + +## Getting Started + +### Quick Start Guide + +1. **Import the Connector**: Import the CarsXE custom connector into your Power Platform environment +2. **Create a Connection**: Navigate to Data → Custom Connectors → CarsXE, then create a new connection using your API key +3. **Build Your First Flow**: + - Create a new automated flow in Power Automate + - Add a trigger (e.g., "When an item is created" in SharePoint) + - Add the "Get Vehicle Specs" action from CarsXE connector + - Provide a VIN number (test with: `WBAFR7C57CC811956`) + - Add actions to use the returned data (send email, update database, etc.) + +### Example Use Cases + +**VIN Decoder Flow** +- **Trigger**: When a VIN is submitted in a Microsoft Form or Excel +- **Action**: Call CarsXE → Get Vehicle Specs +- **Output**: Send decoded data (make, model, year, engine details) via email or Teams message + +**License Plate Lookup** +- **Trigger**: Upload license plate image to SharePoint +- **Action**: Call CarsXE → Plate Image Recognition +- **Output**: Store extracted plate data in Dataverse or SQL database + +**Safety Recall Notification** +- **Trigger**: New vehicle added to inventory (Dataverse or SharePoint) +- **Action**: Call CarsXE → Get Safety Recalls +- **Output**: Send automated Teams alert or email if recalls are found + +**Market Value Assessment** +- **Trigger**: Manual trigger or scheduled flow +- **Action**: Call CarsXE → Get Market Value for VINs in inventory +- **Output**: Update pricing in Excel or database with current market values + +## Known Issues and Limitations + +- **Rate Limits**: API calls are subject to rate limits based on your CarsXE subscription plan. Exceeding these limits may result in temporary throttling. +- **VIN Format**: VINs must be valid 17-character Vehicle Identification Numbers. Invalid or incomplete VINs will return error responses. +- **International Data**: While international VIN decoding is supported, data completeness may vary by region and vehicle manufacturer. +- **Image Recognition**: OCR-based operations (Plate Image Recognition, VIN OCR) require clear, well-lit images for best results. Image quality directly affects accuracy. +- **License Plate Coverage**: License plate decoding coverage varies by country and region. Not all international plates may be supported. +- **Historical Data**: Vehicle history data availability depends on reporting sources and may not be comprehensive for all vehicles. +- **Market Value Accuracy**: Market value estimates are based on available data and may vary from actual market conditions. Regional variations may apply. + +## Frequently Asked Questions + +### How do I get a CarsXE API key? +Visit [https://api.carsxe.com/dashboard/developer](https://api.carsxe.com/dashboard/developer) to sign up and obtain your API key. Various subscription plans are available based on your usage needs. + +### What happens if my API key expires or is invalid? +The connector automatically detects 401 (Unauthorized) responses and marks the connection as unauthenticated. You'll need to create a new connection with a valid API key. + +### Can I use this connector in Power Apps? +Yes! After deploying the custom connector and creating a connection, you can use all CarsXE operations in both Power Automate flows and Power Apps canvas/model-driven apps. + +### Which VIN formats are supported? +The connector supports standard 17-character VINs used globally. For international vehicles, use the "Decode International VIN" operation for enhanced compatibility. + +### How accurate is the market value estimation? +Market value estimates are based on comprehensive data sources and algorithms. For best results, provide the VIN and optionally the state code to refine regional pricing. Values should be used as estimates and verified against current market conditions. + +### Does the connector work with European or Asian vehicles? +Yes, the International VIN Decoder operation supports worldwide vehicle decoding. However, data completeness may vary depending on the manufacturer and region. + +### What image formats are supported for OCR operations? +Standard web image formats (JPEG, PNG) accessed via public URLs are supported. Ensure images are clear, well-lit, and high-resolution for optimal OCR accuracy. + +### Are there any costs associated with using this connector? +The connector itself is free to use, but you need an active CarsXE API subscription. API usage is billed according to your CarsXE plan. Check [https://api.carsxe.com](https://api.carsxe.com) for pricing details. + +## Deployment Instructions + +### Method 1: Import from Solution File + +1. Download the CarsXE custom connector solution file +2. Navigate to [Power Automate](https://make.powerautomate.com) or [Power Apps](https://make.powerapps.com) +3. Go to **Solutions** in the left navigation +4. Click **Import solution** +5. Select the downloaded solution file and follow the import wizard +6. After import, navigate to **Data** → **Custom Connectors** +7. Locate **CarsXE** in the list +8. Click **+ New connection** and enter your API key + +### Method 2: Manual Custom Connector Creation + +1. Navigate to [Power Automate](https://make.powerautomate.com) +2. Go to **Data** → **Custom Connectors** +3. Click **+ New custom connector** → **Import an OpenAPI file** (if available) or **Create from blank** +4. Configure the connector: + - **General**: Set connector name to "CarsXE", upload icon, set host to `api.carsxe.com` + - **Security**: Set authentication type to "API Key", parameter label to "API Key", parameter name to `key`, location to "Query" + - **Definition**: Add each operation (specs, international-vin-decoder, platedecoder, etc.) with appropriate parameters + - **Code**: Add policy templates for format=json parameter and 401 handling + - **Test**: Create a connection and test operations +5. Click **Create connector** +6. Create a new connection using your CarsXE API key + +### Method 3: Use in Power Apps + +1. After deploying the custom connector (Method 1 or 2) +2. Open your Power Apps canvas app or create a new one +3. Click **Data** in the left panel +4. Click **+ Add data** +5. Search for and select **CarsXE** +6. Create or select an existing connection +7. Use CarsXE operations in your app formulas and galleries + +### Verification + +After deployment, verify the connector works correctly: + +1. Go to **Data** → **Custom Connectors** → **CarsXE** +2. Navigate to the **Test** tab +3. Select your connection +4. Test the "Get Vehicle Specs" operation with VIN: `WBAFR7C57CC811956` +5. Verify you receive a successful 200 response with vehicle data + +--- + +**Need Help?** Visit the [CarsXE API Documentation](https://api.carsxe.com/docs) or contact support through your dashboard at [https://api.carsxe.com/dashboard](https://api.carsxe.com/dashboard). + +**Links:** +- **Website**: [https://api.carsxe.com](https://api.carsxe.com) +- **API Documentation**: [https://api.carsxe.com/docs](https://api.carsxe.com/docs) +- **Developer Dashboard**: [https://api.carsxe.com/dashboard/developer](https://api.carsxe.com/dashboard/developer) \ No newline at end of file