Smartcar is a vehicle API that sits on top of the manufacturers' own connected-services accounts. A vehicle owner or fleet admin grants access through Smartcar Connect, an OAuth 2.0 consent flow, and your application then reads standardized signals such as Odometer.TraveledDistance, TractionBattery.StateOfCharge, Charge.IsCharging, and Location.PreciseLocation through one REST interface instead of one per make. Webhooks deliver a VEHICLE_STATE event whenever a trigger signal changes, carrying every signal you subscribed to. Commands cover charging, door locks, navigation, and charge schedules.
An operator on Fibric watches those events across a pool of vehicles, finds the car that will not be charged for its booking or the one that has stopped moving, and proposes the command or the message for you to approve.
This is a reference listing. It documents what Fibric would read from Smartcar and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
Vehicle attributes (make, model, year) through GET /vehicles/{vehicleId}, and identification signals in the VehicleIdentification group
Signals through GET /vehicles/{vehicleId}/signals in groups such as Charge, Climate, Closure, Diagnostics, Location, Odometer, TractionBattery, and Wheel
VEHICLE_STATE webhook events with a triggers array naming the changed signal codes, or FIRST_DELIVERY on subscription, plus VEHICLE_ERROR events
Connections through GET /connections on the Management API, listing each userId and vehicle your application may act on
Diagnostic Trouble Codes on GM brands, system status on FCA and GM brands, and service history on Ford, Lincoln, Toyota, Lexus, Mazda, and Volkswagen
Compatibility data by make, region (US, CA, EUROPE), and powertrain type (ICE, BEV, PHEV), updated daily
Webhook delivery logs in the Dashboard with each attempt's status code and response time
Proposed actions
Target capability: propose starting or stopping a charge through POST /vehicles/{vehicleId}/commands/charge/start or /charge/stop
Target capability: propose a maximum state of charge through the set charge limit command
Target capability: propose locking the doors, or releasing the locks for a handover, under the control_security permission
Target capability: propose a daily, weekly, or workweek charge schedule on makes that support it, or its deletion by scheduleId
Target capability: propose sending a destination to the vehicle's navigation under control_navigation
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Charge the pool car before its morning booking
Subscribe TractionBattery.StateOfCharge and Charge.IsCharging as triggers. When a booked vehicle sits unplugged or below the level the trip needs, propose the charge start or the swap for approval.
Read Diagnostic Trouble Codes and system status on the makes that expose them, plus tire pressure and oil life. Propose the service booking and the replacement vehicle.
Compare Odometer.TraveledDistance and Location.PreciseLocation across the week. Flag the unit with no change and propose reassigning it or returning it to the lessor.
A Smartcar application with a Client ID and Client Secret from the Dashboard, kept on your backend only
Signals and commands chosen under Configuration -> Vehicle Access, which derives permissions such as read_odometer, read_battery, read_location, and control_charge
Each vehicle's owner completing Connect with an active connected-services subscription for that make
A webhook endpoint that answers 2xx within 15 seconds and checks the payload signature
For Tesla commands a Virtual Key added to the vehicle; for Rivian commands a phone paired over Bluetooth
Authentication
OAuth 2.0 client credentials at https://iam.smartcar.com/oauth2/token yield an application access token valid for one hour; owners grant per-vehicle permissions through Smartcar Connect, and signal and command calls carry an sc-user-id header.
Limits
Application requests over the rate limit return 429 RATE_LIMIT; per-vehicle throttling returns a retry-after header to protect the 12V battery
Plan limits return 430 BILLING errors: VEHICLE_LIMIT, VEHICLE_REQUEST_LIMIT per billing period, or INVALID_PLAN for a feature outside the plan
A failed webhook is retried three times with backoff starting at 25 seconds, then the payload is dropped
Commands do not return the new state; read the signal afterwards, and a command running past 175 seconds streams a 202 until it finishes
Access and pricing
Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
Does Smartcar send webhooks when a signal changes?
Yes. You configure trigger signals and subscribed signals in the Dashboard. A VEHICLE_STATE event fires when any trigger changes and carries all subscribed signals, with a triggers array naming what changed. Use eventId to deduplicate; each retry keeps the same eventId with a new deliveryId.
How do permissions work?
Permissions are OAuth scopes such as read_location, read_odometer, read_battery, control_charge, and control_security. Vehicle Access in the Dashboard derives the minimum set from the signals you pick. Required permissions appear locked on the Connect screen; optional ones the owner can uncheck. A scope parameter in the Connect URL overrides the derived set.
Which makes support diagnostics and service history?
Diagnostic Trouble Codes cover GM brands including Chevrolet and GMC. System status covers FCA and GM brands such as RAM, Jeep, Chrysler, Dodge, Buick, and Cadillac. Service history covers Ford, Lincoln, Toyota, Lexus, Mazda, and Volkswagen in the US. Other vehicles return a VEHICLE_NOT_CAPABLE compatibility error.
Ask about Smartcar
Ask about the capabilities and requirements in this listing.
This connector listing is developed, published, and supported by Fibric. It describes integration with Smartcar through published interfaces. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy