Developers
Two ways to get your data out. Both work today.
No sales call, no reseller partnership, no waiting for a future release. This is the same API and the same export screen a signed-in dealer uses — documented here so your own tools can use it too. See the data-portability guarantee for the full-database, no-charge export.
Authentication
Every request is authenticated the same way the app itself is: a signed session cookie, issued when a dealership seat signs in at /library. There is no separate API-key program today — a request needs a live, signed-in session, exactly like clicking a button in the app would. If you’re calling from your own server, hold that session cookie the way you’d hold any other credential.
Every request is also permission-checked against the signed-in seat’s role — a salesperson’s session can’t read what a salesperson can’t see in the app, cost figures included. The API never widens access beyond the UI.
The read API
POST /api/asktakes a plain-English question and returns real data, read directly off the live schema — no separate reporting database, no nightly sync lag. It’s read-only: nothing it runs can write, and every query it plans is shown back in the response so nothing runs invisibly.
Request
curl -X POST https://your-dealership.example/api/ask \
-H "Content-Type: application/json" \
-H "Cookie: <your signed-in session cookie>" \
-d '{"question": "How many vehicles are in stock right now?"}'Response
{
"ok": true,
"kind": "data",
"title": "Vehicles in stock",
"answer": "42 vehicles are currently in stock.",
"sql": "SELECT COUNT(*) AS in_stock FROM vehicles WHERE status = 'in_stock'",
"table": { "columns": ["in_stock"], "rows": [[42]] },
"rowCount": 1,
"truncated": false
}- Questions are capped at 500 characters and read-only — no INSERT, UPDATE, DELETE, or DDL can reach the database through this endpoint.
- A multi-store account is automatically scoped to whichever stores the signed-in seat has checked, the same as the app’s own store switcher.
- A question the model can’t ground in real data comes back as a plain explanation, not a guess.
- Large results are capped and flagged with truncated: true rather than silently cut off.
The CSV export
A signed-in seat with export access can download any of the four core tables as CSV from /export — one click, no request queue. The header row is stable, so it’s safe to script against. This is the self-serve slice of the portability guarantee; the full database (accounting, audit trail, service history, deal documents) is the 5-business-day, no-charge export described on the portability page.
Vehicles (inventory)
id, dealership_id, vin, make, model, year, trim, body_style, exterior_color, mileage, condition, cost, list_price, status, acquired_date, title_status, lot_location, description
Customers
id, name, email, phone, city, state, created_date
Sales (deals)
id, dealership_id, vehicle_id, customer_id, employee_id, sale_date, sale_price, trade_in_value, front_gross, finance_gross, payment_type, down_payment, trade_payoff, apr, term_months, monthly_payment, tax_total, fee_total
Leads
id, dealership_id, customer_id, employee_id, source, created_date, status, vehicle_of_interest_id, closed_date
No metering, no fees
Reading your own dealership’s data was never a premium feature. There’s no per-call charge, no usage tier to upgrade into, and no data-access fee — today or on the day you leave.
Tell us about your dealership.
Two minutes, and we’ll come back with a demo built around what you actually deal with — not a canned walkthrough.
Book a demo