Developers
The Jalopy API
Book cars from your own systems, sync the fleet into payroll or HR, and hear about trips, prestarts and defects the moment they happen.
- An owner makes a key in the portal (Settings → Developers) and ticks what it can do.
- Send it as
Authorization: Bearer jy_…tohttps://app.jalopy.app/api/v1. - Add webhooks in the same place to get events pushed to you, signed.
openapi.json (OpenAPI 3.1): import it into Postman, n8n or your own code generator.
curl https://app.jalopy.app/api/v1/bookings \
-H "Authorization: Bearer $JALOPY_KEY" \
-H "Idempotency-Key: payroll-7731" \
-H "Content-Type: application/json" \
-d '{
"vehicle": "…",
"driver": "…",
"origin_location": "…",
"destination_address": "Ipswich QLD",
"purpose_category": "…",
"depart_at": "2026-10-16T22:30:00Z",
"return_at": "2026-10-17T02:30:00Z"
}'
import { createHmac, timingSafeEqual } from 'node:crypto'
// rawBody: the body exactly as received, before JSON.parse
function fromJalopy(rawBody, header, secret) {
const p = Object.fromEntries(
header.split(',').map((x) => x.split('='))
)
// older than five minutes: a replay
if (Math.abs(Date.now() / 1000 - Number(p.t)) > 300) return false
const want = createHmac('sha256', secret)
.update(`${p.t}.${rawBody}`)
.digest('hex')
return timingSafeEqual(Buffer.from(want), Buffer.from(p.v1 ?? ''))
}
Reference
Choose Authorize and paste a key to try calls against your own fleet. Webhook payloads are at the bottom.
Loading the reference…