Motors CRM Public API

This API targets the Simple portal (`/dashboards`) data model. It excludes admin functionality and classic Quote / Motor / Work Order collections.

1) Create API key in dashboard

  1. Sign in to the CRM.
  2. Open Simple settings → API Integration (/dashboards/settings?section=api-integration).
  3. Click Create key.
  4. Copy the key immediately (shown once).

2) Authentication

Use either header:

X-API-Key: motors_sk_xxx

or:

Authorization: Bearer motors_sk_xxx

3) Base URL and methods

GET    /api/public/v1/:collection
POST   /api/public/v1/:collection
GET    /api/public/v1/:collection/:id
PUT    /api/public/v1/:collection/:id
DELETE /api/public/v1/:collection/:id

4) Supported collections

customers, vendors, inventoryItems, employees, salesPersons, serviceProposals, purchaseOrders, logisticsEntries, leads, supportTickets, marketplaceItems, marketplaceOrders, policies, directoryListings

serviceProposals is Simple RFQ / JOB / INVOICE records. purchaseOrders is Simple Job/Shop POs (not classic purchase orders).

5) Query params (list endpoint)

limit=50 (max 200)
skip=0
updatedAfter=2026-01-01T00:00:00.000Z

6) Webhooks

Configure webhooks under Simple settings → API Integration. Events also fire when records change in the Simple dashboard (service proposals and purchase orders). Event names:

crm.customers.created / crm.customers.updated / crm.customers.deleted
crm.vendors.created / crm.vendors.updated / crm.vendors.deleted
crm.inventoryItems.created / crm.inventoryItems.updated / crm.inventoryItems.deleted
crm.employees.created / crm.employees.updated / crm.employees.deleted
crm.salesPersons.created / crm.salesPersons.updated / crm.salesPersons.deleted
crm.serviceProposals.created / crm.serviceProposals.updated / crm.serviceProposals.deleted
crm.purchaseOrders.created / crm.purchaseOrders.updated / crm.purchaseOrders.deleted
crm.logisticsEntries.created / crm.logisticsEntries.updated / crm.logisticsEntries.deleted
crm.leads.created / crm.leads.updated / crm.leads.deleted
crm.supportTickets.created / crm.supportTickets.updated / crm.supportTickets.deleted
crm.marketplaceItems.created / crm.marketplaceItems.updated / crm.marketplaceItems.deleted
crm.marketplaceOrders.created / crm.marketplaceOrders.updated / crm.marketplaceOrders.deleted
crm.policies.created / crm.policies.updated / crm.policies.deleted
crm.directoryListings.created / crm.directoryListings.updated / crm.directoryListings.deleted

Webhook signature headers:

X-Motors-Event: crm.serviceProposals.created
X-Motors-Timestamp: 1710000000000
X-Motors-Signature: sha256=<hex hmac>
X-Motors-Request-Id: <uuid>

Signature input format: <timestamp>.<raw_json_payload> using HMAC-SHA256 and your webhook secret.