Portal API
A portal key lets a server-side agent read unfiled trips and propose Personal or Business. Suggestions wait in the app. This API never talks to the car, and it does not file a trip unless you call file.
Base URL
Call from a server. Do not put a portal key in a browser. CORS is open so you can fetch the spec; the key still belongs on the server.
https://drivemanifest.com/api/v1
Human docs: https://drivemanifest.com/docs · Machine spec: https://drivemanifest.com/api/v1/openapi.json
Auth
Issue a key in Settings. It starts with mf_live_ and is shown once. Send it on every request.
Authorization: Bearer mf_live_…
Endpoints
GET
/api/v1/me
Mileage rate, vehicle and trip counts, and whether you classify with a bot or Remember last.
GET
/api/v1/trips?status=open
Unfiled trips waiting for a Personal or Business label. status=open (default), filed, or all. Up to 200.
GET
/api/v1/trips/:id
Start, end, miles, current label, and any pending suggestion. Does not change the trip.
POST
/api/v1/trips/:id/suggest
Propose Personal or Business. It waits in the app for you to review. Does not write the mileage log.
POST
/api/v1/trips/:id/file
Writes Personal or Business on the mileage log. Only call this if the bot should file without a person reviewing.
GET
/api/v1/places
Home, Work, and places Manifest has learned. Destinations only — not a live car location.
GET
/api/v1/vehicles
Cars on the account. VIN last four only. Does not wake or query the car.
Read
Start here. Pull unfiled trips, then POST /suggest with Personal or Business.
curl https://drivemanifest.com/api/v1/trips?status=open \ -H "Authorization: Bearer mf_live_…"
{
"trips": [{
"id": 42,
"start": { "label": "Home" },
"end": { "label": "Work" },
"miles": 36.2,
"category": null,
"suggestion": null
}]
}Suggest
A suggestion sits in the app until a person accepts it. POST /file writes the mileage log. Prefer suggest.
curl -X POST https://drivemanifest.com/api/v1/trips/42/suggest \
-H "Authorization: Bearer mf_live_…" \
-H "Content-Type: application/json" \
-d '{
"category": "business",
"reason": "Client site on Broadway.",
"confidence": 0.91
}'Rules
01
Don't send an xAI or OpenAI secret. Manifest will not store it.
02
POST /suggest proposes a label. POST /file writes it. Prefer suggest.
03
Reads destinations Manifest already logged. Never wakes a Tesla.