Dealership API
Connect approved external systems to a dealership's Driverseat data. The public API supports read-only dealership data plus vehicle photo replacement by VIN.
#Base URL
All requests are made against the production base URL over HTTPS.
https://api.driverseat.io#Authentication
Requests authenticate with a dealership API key in the x-api-key header. A key only authorizes the dealership it was generated for.
HTTP
x-api-key: sk-driverseat-...Never put API keys in browser code, public repositories, logs, or client-side tag managers. Treat them like server-side secrets.
#Request format
- Send JSON request bodies with
Content-Type: application/json. - Use the dealership ID that matches the API key.
- List endpoints use limit and offset pagination.
- Successful requests return JSON; errors use standard HTTP status codes.
#Versioning and Limits
/v1.limit=100 and offset=0. The maximum limit is 500./openapi.json.#Entities
Most routes are read-only entity endpoints scoped to the dealership behind the API key. Detail routes use the UUID returned by the corresponding list endpoint.
| Entity | List endpoint | Detail endpoint | Filters | Notes |
|---|---|---|---|---|
| Blog Post | GET /v1/blog-posts | GET /v1/blog-posts/{id} | state, createdBy, search, dates | Archived posts are excluded unless state=ARCHIVED is provided. |
| Dealership | None | GET /v1/dealership | None | Returns dealership metadata plus nested site, business departments, employee departments, and inventory settings. |
| Employee | GET /v1/employees | GET /v1/employees/{id} | departmentId, search, dates | Includes nested employee department and profile image metadata. |
| Employee Department | GET /v1/employee-departments | GET /v1/employee-departments/{id} | search, dates | Includes nested employee summaries. |
| Form | GET /v1/forms | GET /v1/forms/{id} | service, search, dates | Includes nested active form fields. |
| Form Submission | GET /v1/form-submissions | GET /v1/form-submissions/{id} | formId, search, dates | Includes source form summary and submitted field values. |
| Inquiry | GET /v1/inquiries | GET /v1/inquiries/{id} | type, marketStatus, service, search, dates | Includes lead, vehicle, form, employee, and trade-in context. |
| Lead | GET /v1/leads | GET /v1/leads/{id} | search, dates | Includes inquiry count, latest inquiry summary, and nested inquiry summaries. |
| Page | GET /v1/pages | GET /v1/pages/{id} | state, kind, surface, search, dates | Archived pages are excluded unless state=ARCHIVED is provided. |
| Site | None | GET /v1/site | None | Returns website, inventory, payment calculator, lead form, and contact settings. |
| Trade-In | GET /v1/trade-ins | GET /v1/trade-ins/{id} | search, dates | Includes lead summary, condition scores, photos, valuation, and payoff fields. |
| User Event | GET /v1/user-events | GET /v1/user-events/{id} | type, userId, entityId, dates | Includes actor users, message JSON, integration type, and referenced entity IDs. |
| Vehicle | GET /v1/vehicles | GET /v1/vehicles/{id} | condition, status, sold, displayOnSite, vin, stockNumber, search, dates | Also documents POST /v1/update-photos for replacing ordered photo URLs. |