# CleanTrak Documentation ## Guides - [Getting Started with CleanTrak](https://cleantrak.readme.io/docs/getting-started.md): This page will help you get started with CleanTrak. You'll be up and running in a jiffy! ## API Reference - [Get authenticated user](https://cleantrak.readme.io/reference/authenticateduser_list.md): Retrieve details of the authenticated user via token - [Get average wash time](https://cleantrak.readme.io/reference/stat_getavgwashtime_list.md): Calculate the average time from carwash creation till the end of the wash time for the past hour - [Get cars per hour](https://cleantrak.readme.io/reference/stat_getcarsperhour_list.md): Get the number of cars washed in the past hour - [Get total washed cars today](https://cleantrak.readme.io/reference/stat_gettotalwashedcarstoday_list.md): Get the total number of cars washed today for this tunnel - [List all companies](https://cleantrak.readme.io/reference/companies_list.md): Retrieve a list of all companies. - [Retrieve a company](https://cleantrak.readme.io/reference/companies_read.md): Retrieve a specific company by ID. - [Get latest conveyor config](https://cleantrak.readme.io/reference/controllerconfig_list.md): Retrieve the latest info about carwash conveyour lenght, inches per pulse, start/stop relays etc. - [Get latest DI config](https://cleantrak.readme.io/reference/diconfig_list.md): Retrieve the latest Digital Input config. DI config read inputs as Pulses, Interlocks etc. - [Get latest Relays (DO) config](https://cleantrak.readme.io/reference/relayconfig_list.md): Retrieve the latest config of all relays in the CleanTrak controller - [Get latest scene config](https://cleantrak.readme.io/reference/sceneconfig_list.md): Scene this is place were all devices are configured uniquely for the carwash. Cameras, Gates, LPR etc. - [Get latest washgroups config ](https://cleantrak.readme.io/reference/washgroupconfig_list.md): Retrieve the latest Wash Package, Wash Extra, Retracts, Momentary config - [List all devices](https://cleantrak.readme.io/reference/devices_list.md): Retrieve a list of all devices. - [Retrieve a device](https://cleantrak.readme.io/reference/devices_read.md): Retrieve a specific device by ID. - [Get car count reports](https://cleantrak.readme.io/reference/reports_carcount_list.md): Retrieve car count reports with time-based aggregation and source breakdown - [Get transaction reports](https://cleantrak.readme.io/reference/reports_transaction_list.md): Retrieve transaction reports with filtering and pagination - [Intro and Get WashQueue](https://cleantrak.readme.io/reference/washqueue_list.md): Get the list of current cars in the washtunnel and those which waiting to be washed - [Retrieve the current state of the conveyor](https://cleantrak.readme.io/reference/get_controller-conveyor-state.md) - [Get the current conveyor speed](https://cleantrak.readme.io/reference/getconveyorspeed.md): Retrieve the current conveyor speed in pulses per hour and feet per second - [Process wash request](https://cleantrak.readme.io/reference/processwash.md): Process XML wash request similar to socket server - [Start the conveyor](https://cleantrak.readme.io/reference/startconveyor.md): Start the conveyor if the interlock is in the correct state. - [Stop the conveyor](https://cleantrak.readme.io/reference/stopconveyor.md): Stop the conveyor. - [Process momentary wash options](https://cleantrak.readme.io/reference/processmomentary.md): Process momentary wash options when conveyor is running. Momentary options are temporary wash functions that can be triggered during wash cycle. - [Get cached scene configuration](https://cleantrak.readme.io/reference/getsceneconfig.md): Retrieve the complete scene configuration from cache - [Get device heartbeat information](https://cleantrak.readme.io/reference/getdeviceheartbeat.md): Retrieve complete device heartbeat information including network status, conveyor state, and configuration versions - [Create a new car in wash queue](https://cleantrak.readme.io/reference/createcarwashqueue.md): Create a new car entry in the wash queue with detailed vehicle information - [Delete a car from wash queue](https://cleantrak.readme.io/reference/deletecarwashqueue.md): Remove a car from the wash queue. Only cars in IN_QUEUE or ENTERING state can be deleted. - [Get all cars in wash queue](https://cleantrak.readme.io/reference/getallcarswashqueue.md): Retrieve a list of all cars currently in the wash queue with optional state filtering - [Get a specific car by invoice_id](https://cleantrak.readme.io/reference/getcarbyidwashqueue.md): Retrieve detailed information about a specific car in the wash queue using invoice_id query parameter - [Update an existing car in wash queue](https://cleantrak.readme.io/reference/updatecarwashqueue.md): Update an existing car entry in the wash queue. Car cannot be updated while washing. - [Create a new car entry.](https://cleantrak.readme.io/reference/create_car.md) - [Delete a car by its ID.](https://cleantrak.readme.io/reference/delete_car.md) - [Retrieve a car by its ID.](https://cleantrak.readme.io/reference/get_car.md) - [Retrieve a list of all cars.](https://cleantrak.readme.io/reference/get_cars.md) - [Get the controller configuration](https://cleantrak.readme.io/reference/getcontrollerconfig.md): Retrieve the current controller configuration. - [Get local wash queue status](https://cleantrak.readme.io/reference/getlocalqueue.md): Retrieve detailed information about all cars currently in the local wash queue - [Update an existing car.](https://cleantrak.readme.io/reference/update_car.md) - [Get all DI configurations](https://cleantrak.readme.io/reference/get_di-config.md) - [Get all available digital input states](https://cleantrak.readme.io/reference/getdistates.md): Returns states of all available digital inputs - [Get the value of a specific digital input (DI)](https://cleantrak.readme.io/reference/getdivalue.md): Retrieve the current value of a digital input (DI) by its slot and channel. - [Set the virtual DI value to off](https://cleantrak.readme.io/reference/setvirtualdivalueoff.md): Set the virtual DI value to off for a given slot and channel. - [Set the virtual DI value to on](https://cleantrak.readme.io/reference/setvirtualdivalueon.md): Set the virtual DI value to on for a given slot and channel. - [Trigger a pulse event](https://cleantrak.readme.io/reference/triggerpulse.md): Manually trigger a pulse event if pulse simulation is not enabled. This simulates a pulse sensor activation and processes it through the carwash cycle system. - [Close the gate](https://cleantrak.readme.io/reference/closegate.md): Send a command to close the gate. - [Get the current state of the gate along with Loop A and Loop B states](https://cleantrak.readme.io/reference/getgatestate.md): Retrieve the current state of the gate, including the status of Loop A and Loop B. - [Get gate management status and queue](https://cleantrak.readme.io/reference/getgatestatus.md): Retrieve comprehensive status information for all gates in the system, including: - Current gate states (open/closed/opening/closing) - Loop A and Loop B sensor states - Gate opening queue with pending requests - Queue mode (immediate or hold_queue) This endpoint provides real-time monitoring of the gate management system and allows operators to track gate operations and queue status. - [Open the gate](https://cleantrak.readme.io/reference/opengate.md): Send a command to open the gate. - [Get all configured relays list with their settings](https://cleantrak.readme.io/reference/getallrelaysettings.md): Retrieve a list of all configured relays and their settings. - [Get all relays with their current statuses](https://cleantrak.readme.io/reference/getrelays.md): Retrieve a list of all relays and their statuses. - [Get the settings of a specific relay](https://cleantrak.readme.io/reference/getrelaysettings.md): Retrieve the current settings of a relay by its slot and channel. - [Get the status of a specific relay](https://cleantrak.readme.io/reference/getrelaystatus.md): Retrieve the current status of a relay by its slot and channel. - [Toggle the state of a specific relay](https://cleantrak.readme.io/reference/togglerelay.md): Toggle a relay's state between ON and OFF. - [Trigger roller relay](https://cleantrak.readme.io/reference/triggerroller.md): Turn on the roller relay using configured distance from relay settings - [Turn off a specific relay](https://cleantrak.readme.io/reference/turnrelayoff.md): Turn off a relay by specifying its slot and channel. - [Turn on a specific relay](https://cleantrak.readme.io/reference/turnrelayon.md): Turn on a relay by specifying its slot and channel. - [Activate a retract](https://cleantrak.readme.io/reference/activateretract.md): Create and activate a retract by its code. The retract will be applied to a car in ENTERING state or queued for the next car. - [Cancel a pending retract](https://cleantrak.readme.io/reference/cancelretract.md): Cancel a retract with PENDING status. Only pending retracts can be cancelled. - [Get all retracts status](https://cleantrak.readme.io/reference/getretractsstatus.md): Retrieve status of all active and pending retracts - [Get complete device information](https://cleantrak.readme.io/reference/getdeviceinfo.md): Retrieve complete device information including serial number, hardware version, software versions, and system configuration - [Get a specific wash group by UUID](https://cleantrak.readme.io/reference/getwashgroup.md): Retrieve a specific wash group and its associated relays