Skip to content

Data model

The API exposes two resources. A Location is a store or site where Unique works for you. A Task is one unit of service work performed on one vehicle at one location.

Location 1 ─── * Task
{
"id": "loc_7Hq2Lm",
"name": "Avis Los Angeles Airport",
"timezone": "America/Los_Angeles",
"address": "9020 Aviation Blvd, Inglewood, CA 90301"
}
Field Type Notes
id string Stable. Use it as the location_id filter and as your join key.
name string Display name. It can change; do not use it as a key.
timezone string IANA time zone, for turning UTC timestamps into local time.
address string or null Street address, when on file.
{
"id": "tsk_8sd2KqP1",
"vehicle_id": "4471209",
"mva": "4471209",
"vin": null,
"task_type": "Oil Change",
"status": "completed",
"location": { "id": "loc_7Hq2Lm", "name": "Avis Los Angeles Airport" },
"started_at": "2026-09-26T21:41:50Z",
"odometer_miles": 48210
}
Field Type Notes
id string Stable. Use it to deduplicate when you sync.
vehicle_id string Identifier recorded by the technician on site.
mva string or null MVA (fleet unit number). Always a string, even when it looks numeric. Keep leading zeros.
vin string or null 17-character VIN, when it was captured.
task_type string The work performed, for example Oil Change, Tire Repair or Tire Change. New types can appear; do not fail on unknown values.
status string Always completed in v1.
location object id and name of the location. Full details come from /v1/locations.
started_at string When the technician started the task. RFC 3339, always UTC.
odometer_miles integer or null Odometer reading in miles, when captured.
  • Timestamps are RFC 3339 in UTC (2026-09-26T21:41:50Z). Convert with the location’s timezone when you need local time, for example to group work by store day.
  • Nullable fields are always present. A field without a value is returned as null, never omitted, so your parser can rely on the shape.
  • Ids are opaque strings. Do not parse them or assume a format or length.
  • Additive changes are not breaking. We may add new fields and new task_type values within v1. Ignore fields you do not recognize.
  • What is not exposed. Pricing, internal approval state and the identity of the technician are not part of the API.