Portal API

BRING YOUR BOT

A portal key on Mega or Giga lets a server-side agent read open trips and propose Personal or Business. Suggestions wait in the app. This API never talks to the car.

Base URL

Production

https://drivemanifest.com/api/v1

Human docs: https://drivemanifest.com/docs · Machine spec: https://drivemanifest.com/api/v1/openapi.json

Auth

Portal key

Issue a key in Settings. It starts with mf_live_ and is shown once. Send it on every request.

Authorization: Bearer mf_live_…
  • 401 — Missing, unknown, or revoked key.
  • 403 — Trip is already filed. Suggest only works on open trips.
  • Revoke keys in Settings.

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, notes, 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 change miles or notes.

  • POST

    /api/v1/trips/:id/file

    Writes Personal or Business on the trip.

  • GET

    /api/v1/places

    Home labels and places Manifest has learned.

  • GET

    /api/v1/vehicles

    Cars on your Tesla account. VIN last four only. We never wake the car or issue any commands.

Read

Open trips

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": "Office" },
    "miles": 36.2,
    "notes": "",
    "milesSource": "tesla_odo",
    "category": null,
    "suggestion": null
  }]
}

Suggest

Propose a label

POST /suggest proposes Personal or Business. POST /file writes it on the trip.

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

  1. 01

    No vendor keys

    Don't send an xAI or OpenAI secret. Manifest will not store it.

  2. 02

    Suggest, then write

    POST /suggest proposes a label. POST /file writes it.

  3. 03

    Hands off

    Reads destinations Manifest already logged. We never wake the car or issue any commands.