Partner API

Feed your vehicle inventory into MYDV so it can power automated social media posting for your business. This is for businesses that aren't MYDV DMS customers — if you use MYDV DMS, your stock is already connected automatically.

1. Get an API key

Sign up at /partners/signup with your business name and contact email. You'll get a verification email — click the link, and your API key is emailed to you straight after. Keep it private; it's shown to you once and can't be recovered, only reissued.

2. Authentication

Every request must include your API key and your business name — the key alone isn't enough, they're checked together.

X-Partner-Api-Key: mydv_partner_...

3. Send your vehicles

POST/api/external-feed/vehicles

Request body:

{
  "businessName": "Your Business Ltd",
  "mode": "partial",
  "listings": [
    {
      "source_id": "veh-001",
      "make": "Ford",
      "model": "Fiesta",
      "price": 8500,
      "images": ["https://example.com/photo1.jpg"],
      "year": 2018,
      "mileage": 42000,
      "fuel": "Petrol",
      "transmission": "Manual",
      "colour": "Blue",
      "registration": "AB18XYZ",
      "description": "Great condition, one owner.",
      "condition": "Used",
      "body_type": "Hatchback"
    }
  ]
}

Fields

businessNamestringrequiredMust match the name on your account exactly.
mode"partial" | "full_replace"optionalDefaults to "partial". "full_replace" removes any of your vehicles not included in this request.
listingsarrayrequiredOne entry per vehicle. At least one required.
listings[].source_idstringrequiredYour own reference for this vehicle — used for future updates and deletes.
listings[].makestringrequirede.g. "Ford"
listings[].modelstringrequirede.g. "Fiesta"
listings[].pricenumberrequiredWhole pounds, no currency symbol.
listings[].imagesstring[]requiredAt least one image URL.
listings[].yearnumberoptionalYear of manufacture.
listings[].mileagenumberoptionalOdometer reading, in miles.
listings[].fuelstringoptionale.g. "Petrol", "Diesel", "Electric"
listings[].transmissionstringoptionale.g. "Manual", "Automatic"
listings[].colourstringoptional
listings[].registrationstringoptional
listings[].descriptionstringoptional
listings[].conditionstringoptionale.g. "New", "Used"
listings[].body_typestringoptionale.g. "Hatchback", "SUV"

A vehicle missing a required field is rejected with a reason — the rest of the batch still processes normally. Sending the same source_id again updates that vehicle rather than creating a duplicate.

4. Remove a vehicle

Send its source_id with delete: true instead of the full listing:

{
  "businessName": "Your Business Ltd",
  "listings": [
    { "source_id": "veh-001", "delete": true }
  ]
}

5. Response

{
  "success": true,
  "results": [
    { "source_id": "veh-001", "status": "ok" },
    { "source_id": "veh-002", "status": "rejected", "reason": "Missing required field(s): model" }
  ]
}

Each entry's status is ok, rejected, or deleted.

Limits

Up to 30 requests per 10 minutes per account. Send your full inventory in as few requests as possible rather than one call per vehicle.

Questions, or need your API key reissued?

Contact support@mydealershipview.com