Recalls

Submit a bulk recalls batch

Submit up to 10,000 VINs for asynchronous recall processing. Provide VINs as a JSON array (`vins`), inline CSV text (`csv`), or an HTTPS link to a CSV file (`csvUrl`). Optionally provide a `webhookUrl` that CarsXE will POST to when the batch finishes. Poll the status endpoint or wait for the webhook, then fetch results. x402 submissions must use the JSON `vins` array. The `csv` and `csvUrl` forms require CarsXE API-key authentication.


Checking account...
POST
/v1/recalls-batch/submit

Submit up to 10,000 VINs for asynchronous recall processing. Provide VINs as a JSON array (vins), inline CSV text (csv), or an HTTPS link to a CSV file (csvUrl). Optionally provide a webhookUrl that CarsXE will POST to when the batch finishes. Poll the status endpoint or wait for the webhook, then fetch results.

x402 submissions must use the JSON vins array. The csv and csvUrl forms require CarsXE API-key authentication.

Authorization

key<token>

Your CarsXE API key, passed as the key query parameter.

In: query

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.carsxe.com/v1/recalls-batch/submit?key=CARSXE_API_KEY" \  -H "Content-Type: application/json" \  -d '{"vins":["1HGBH41JXMN109186","5YJSA1E26HF000001"],"webhookUrl":"https://example.com/webhooks/carsxe-recalls"}'
{
  "success": true,
  "data": {
    "batchId": "brb_mnablbn7_wvbaqv",
    "status": "uploading",
    "totalVins": 3,
    "processedVins": 0
  },
  "message": "Batch submitted and queued for processing. Poll the status endpoint or wait for the webhook."
}

{
  "success": false,
  "message": "Request body must include at least one of: \"vins\" (non-empty array), \"csv\" (text), or \"csvUrl\" (https link to a CSV) with valid 17-character VINs."
}

{
  "success": false,
  "message": "Missing API key"
}

{
  "success": false,
  "message": "Only POST allowed. Send JSON body with \"vehicles\" array."
}
{
  "success": false,
  "message": "API usage limit exceeded",
  "usage": {
    "current": 1000,
    "limit": 1000,
    "remaining": 0
  }
}
{
  "success": false,
  "message": "Internal server error"
}
{
  "success": false,
  "message": "Could not download the CSV from csvUrl. Check the link and try again."
}