Skip to main content

Start-Inhibit Services

This page explains what start-inhibit does, which vehicles support it, which endpoints to use to immobilise or release a vehicle, and how to confirm that a command has actually taken effect.

What Start-Inhibit Is​

Start-inhibit prevents a vehicle from being started. While it is active, the driver cannot power the vehicle on. Depending on the hardware fitted, it works either as a starter-motor inhibit or as a fuel cut-off.

warning

Start-inhibit does not stop a vehicle that is already moving. If the engine is running when the command is sent, the inhibit takes effect only after the current ignition cycle ends, that is, once the vehicle has been switched off. Do not present this feature to your users as a way to stop a vehicle in motion, including in a stolen-vehicle scenario.

Acronyms and Terms​

This capability is known by several names. They all refer to the same thing:

TermMeaning
Start inhibitThe term used by the Fleet API and by Cartrack internally
Immobilisation / immobiliseThe term most often used in customer-facing material
Anti-arranqueThe Spanish and Portuguese term (literally "anti-start")
Fuel cut-offA start-inhibit fitment that cuts the fuel supply
Starter cutA start-inhibit fitment that disables the starter motor

Availability and Prerequisites​

Start-inhibit requires a specific fitment by Cartrack and is not available on every vehicle.

Before the API addresses a vehicle, the vehicle needs both:

  • an active contract, and
  • a Cartrack terminal of a type the Fleet API supports.

Both endpoints apply this rule. A vehicle that does not meet it does not appear in GET /vehicles/start-inhibit/status, and PUT /vehicles/{registration}/start-inhibit rejects it with 422.

warning

Meeting this rule does not mean the vehicle has a start-inhibit fitment. The API cannot tell whether the start-inhibit hardware is installed. A vehicle can appear in the status listing, and a command to it can be accepted, even though the command will have no effect. Contact your Cartrack account manager to confirm which vehicles in your fleet have a start-inhibit fitment before you offer the feature for them.

Which Endpoint Should I Use?​

GoalEndpoint
Immobilise or release a vehicleImmobilise or Release a Vehicle (PUT /vehicles/{registration}/start-inhibit)
Check whether one vehicle is currently immobilisedGet Start Inhibit Status with filter[registration]
Check the state of the whole fleetGet Start Inhibit Status without a registration filter

Sending a Command​

PUT /vehicles/{registration}/start-inhibit takes one field:

start_inhibitEffect
trueImmobilise the vehicle so it cannot be started
falseRelease the vehicle
ResponseMeaning
200The command was accepted and queued for the terminal
404The registration does not exist, or the caller cannot address it
422The request body is invalid, the vehicle does not have the active contract and terminal the command requires, or its terminal cannot currently be sent the command
500The command could not be sent to the terminal for another reason

For any response other than 200, no command was queued.

Reading the Status​

GET /vehicles/start-inhibit/status returns one row for each vehicle the API can address, with vehicle_id, registration and start_inhibit. The field has the same meaning as in the command:

start_inhibitMeaning
trueThe vehicle is currently immobilised
falseThe terminal has not reported the vehicle as immobilised. This is also returned in some cases where the state cannot be read, so it is not a confirmation that the vehicle is released
nullThe state cannot be established. Treat it as unknown, never as released
warning

Only true is a positive confirmation. Do not treat false as proof that a vehicle has been released.

Results are paginated, with up to 100 vehicles per page (page and limit). With filter[registration], the endpoint returns a single vehicle, or 404 if the caller cannot address that registration.

Confirming a Command Took Effect​

The command is asynchronous. The API queues a request for the terminal and returns without waiting for the device to act on it.

  • A 200 means the command was accepted and queued. It does not mean the vehicle is immobilised.
  • If the command cannot be queued at all, for example because the vehicle has no terminal on an active contract or its terminal cannot currently be reached, the API returns an error instead of 200.
  • A 200 does not confirm that the vehicle has a start-inhibit fitment. On a vehicle without one, the status should not be expected to change to true.
  • The status endpoint shows the last state the terminal confirmed, not the state you asked for. A change can take up to an hour to appear.
  • If the engine is running, the inhibit applies only after the current ignition cycle ends. A status that has not changed yet does not mean the command failed.

The only reliable confirmation of an immobilisation is the status endpoint reporting true. A release cannot be positively confirmed through the API: false is consistent with a release but does not prove it.

  1. Send PUT /vehicles/{registration}/start-inhibit with the required start_inhibit value. If the response is not 200, report the error to the user. The command was not queued.
  2. On 200, show the command as pending, not as done. Tell the user that if the vehicle is running, it will not be affected until it is switched off.
  3. Poll GET /vehicles/start-inhibit/status?filter[registration]=… every 1 to 2 minutes. Stay within the rate limits.
  4. For an immobilisation, mark the command as confirmed once start_inhibit is true. For a release, false means the terminal no longer reports the vehicle as immobilised. Show it as not immobilised, not as a confirmed release, and if the vehicle still cannot be started, contact Cartrack support.
  5. If it still doesn't match after about 60 minutes, or keeps returning null, mark the state as unknown, not failed. Check the vehicle again later rather than resending the command repeatedly. If a vehicle never changes state, ask your account manager to confirm it has a start-inhibit fitment.
  6. For fleet-wide dashboards, page through the status endpoint without a filter instead of querying one vehicle at a time.

Sub-User Access​

Sub-users can use both endpoints, but only for the vehicles granted to them. The status listing and its pagination metadata include only those vehicles. A command or lookup for any other registration returns 404, the same as a registration that does not exist. To let a sub-user immobilise a vehicle, grant that vehicle to the sub-user first.