Car Jobs — Integrations

Car Job Webhook Payload Reference

Process the Road Trip DLC Car Job payload.

Car Jobs use your existing TrackSim webhooks. You do not need to create a separate webhook URL for this job type. See the global Using Webhooks and Webhook Signing and Delivery guides for configuration and delivery behaviour.

#Payload structure

The payload uses the standard TrackSim event envelope. Its top-level type can only be car_job.delivered or car_job.cancelled. The example below uses values transformed from a delivered Car Job tracker record into the webhook format.

The tracker record is not sent directly: TrackSim nests the normalized job under data.object, adds stored driver and client details, maps the tracker vehicle from truck to car, rounds the documented metrics and excludes tracker-only fields such as route, telemetry, schema_version and tracking-validity flags.

json
{
  "object": "event",
  "type": "car_job.delivered",
  "data": {
    "object": {
      "id": 2481,
      "uuid": "135cfade-7033-4b65-b6c6-ce237a1de335",
      "object": "job",
      "driver": {
        "id": 0,
        "steam_id": "76561198119304755",
        "username": "Example Driver",
        "profile_photo_url": "https://tracksim.app/example-profile-pic.png",
        "client": {
          "version": {
            "name": "1.0.0",
            "branch_name": "stable",
            "platform": "windows"
          }
        },
        "last_active": "2026-11-03T21:49:58Z"
      },
      "start_time": "2026-11-03T21:44:59Z",
      "stop_time": "2026-11-03T21:49:58Z",
      "time_spent": 299,
      "planned_distance": 42.0,
      "driven_distance": 39.95,
      "fuel_used": 4.62,
      "is_late": false,
      "market": "quick_job",
      "cargo": {
        "unique_id": "xfer_seals",
        "name": "Intermodal Transfer Seals",
        "damage": 0.0
      },
      "customer_priorities": {
        "cargo_handling": false,
        "time": false,
        "vehicle_appearance": false
      },
      "game": {
        "short_name": "ats",
        "language": "en_gb",
        "had_police_enabled": false
      },
      "multiplayer": null,
      "source_city": {
        "unique_id": "oakland",
        "name": "Oakland"
      },
      "source_company": {
        "unique_id": "oak_port",
        "name": "Oakland Shippers"
      },
      "destination_city": {
        "unique_id": "san_francisc",
        "name": "San Francisco"
      },
      "destination_company": {
        "unique_id": "sf_port",
        "name": "Port of SF"
      },
      "car": {
        "unique_id": "vehicle.ford.f150_23",
        "name": "F150 2023",
        "brand": {
          "unique_id": "ford",
          "name": "Ford"
        },
        "odometer": 55275,
        "initial_odometer": 55236,
        "wheel_count": 4,
        "license_plate": "6MSK636",
        "license_plate_country": {
          "unique_id": "california",
          "name": "California"
        },
        "current_damage": {
          "cabin": 0.0,
          "chassis": 0.0,
          "engine": 0.0,
          "transmission": 0.0,
          "wheels": 0.0
        },
        "total_damage": {
          "cabin": 0.0,
          "chassis": 0.0,
          "engine": 0.0,
          "transmission": 0.0,
          "wheels": 0.0
        },
        "top_speed": 43.57,
        "average_speed": 22.53
      },
      "events": [
        {
          "location": {
            "x": -113339.51429748535,
            "y": 6.3169097900390625,
            "z": -8248.904754638672
          },
          "real_time": "2026-11-03T21:44:59Z",
          "time": 1793742299,
          "type": "car_job.started",
          "meta": {
            "market": "quick_job"
          }
        },
        {
          "location": {
            "x": -114772.49558258057,
            "y": 3.224594831466675,
            "z": -8410.520416259766
          },
          "real_time": "2026-11-03T21:49:58Z",
          "time": 1793742598,
          "type": "car_job.delivered",
          "meta": {
            "cargo.damage": 0.0,
            "delivery.time": 5904,
            "distance.km": 39,
            "revenue": 248,
            "vehicle.damage": 0.00008230996900238097
          }
        }
      ],
      "mods": []
    }
  }
}

The numeric id, driver profile fields and client version are added from TrackSim records during webhook serialization; the tracker record itself does not contain those complete values.

#Car Job fields

PropertyTypeDescription
data.object.idintTrackSim job ID
data.object.uuidstringTrackSim job UUID
data.object.objectstringAlways job
data.object.driverobjectDriver and tracker client details
data.object.start_timedatetimeJob start time in UTC
data.object.stop_timedatetimeJob stop time in UTC
data.object.time_spentintTime spent on the job
data.object.planned_distancefloatPlanned job distance, rounded to two decimal places
data.object.driven_distancefloatDriven job distance, rounded to two decimal places
data.object.fuel_usedfloatFuel used, rounded to two decimal places
data.object.is_latebooleanWhether the job was completed late
data.object.marketstringMarket used for the job
data.object.cargoobjectCargo ID, resolved name and damage
data.object.customer_prioritiesobjectCargo handling, time and vehicle appearance priorities
data.object.gameobjectGame, language and police-enabled state
data.object.multiplayerobject or nullMultiplayer type and metadata; null for single-player jobs
data.object.source_cityobjectSource city ID and resolved name
data.object.source_companyobjectSource company ID and resolved name
data.object.destination_cityobjectDestination city ID and resolved name
data.object.destination_companyobjectDestination company ID and resolved name
data.object.carobjectCar identity, brand, odometer, plate, damage and speed data
data.object.eventsarrayIn-game events recorded during the Car Job
data.object.modsarrayMods active during the Car Job

#Car object

The car object replaces the truck object used by Truck Job payloads.

PropertyTypeDescription
unique_idstringCar unique ID
namestringDecoded car name
brand.unique_idstring or nullBrand unique ID when a brand is present
brand.namestring or nullDecoded brand name when a brand is present
odometerintOdometer at the end of the job
initial_odometerintOdometer at the start of the job
wheel_countintNumber of wheels
license_platestringDecoded licence plate text
license_plate_country.unique_idstringLicence plate country ID
license_plate_country.namestringResolved licence plate country name
current_damageobjectCurrent cabin, chassis, engine, transmission and wheel damage
total_damageobjectTotal cabin, chassis, engine, transmission and wheel damage
top_speedfloatTop speed, rounded to two decimal places
average_speedfloatAverage speed, rounded to two decimal places

#Events and mods

Car Jobs use the same events and mods structures as Truck Jobs:

Car Job payloads do not include a trailers array.