Skip to content
Developers

Screen drivers with one API.

curl https://api-demo-safety.spotter.ai/api/vendor/v1/me \
  -H "X-API-Key: YOUR_API_KEY"
200 OKapplication/json
{
  "vendor_id": "8b0c6f1e-3d2a-4c7b-9e51-2f6a0d4c7b13",
  "environment": "sandbox",
  "enabled_services": ["mvr", "psp", "cdlis", "driver_reviews"]
}

How an order flows

  1. Get a key

    Your API key
    X-API-Key: snt_test_••••••••••••••••Create an account
  2. Call the API

    GET /api/vendor/v1/me
    curl https://api-demo-safety.spotter.ai/api/vendor/v1/me \
      -H "X-API-Key: YOUR_API_KEY"
    200 OK
    {
      "vendor_id": "8b0c6f1e-3d2a-4c7b-9e51-2f6a0d4c7b13",
      "environment": "sandbox",
      "enabled_services": ["mvr", "psp", "cdlis", "driver_reviews"]
    }
  3. Checks run

    POST /api/vendor/v1/orders
    Request
    curl -X POST https://api-demo-safety.spotter.ai/api/vendor/v1/orders \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Idempotency-Key: 9d4e1f0a-2b6c-4c8e-a1f3-7e5d2c9b8a60" \
      -F first_name=Jane \
      -F last_name=Doe \
      -F date_of_birth=1985-04-12 \
      -F license_number=D1234567 \
      -F license_state=FL \
      -F mc_number=MC-123456 \
      -F mvr_requested=true \
      -F psp_requested=true \
      -F cdlis_requested=true \
      -F driver_reviews_requested=true \
      -F ssn=DRIVER_SSN \
      -F cdl_image=@cdl-front.jpg
    202 Accepted
    {
      "id": "3f2b9c1e-7a4d-4e8b-9c61-5d0a8e2f4b17",
      "status": "processing",
      "mc_number": "MC-123456",
      "submission_date": "2026-10-14T20:04:06Z",
      "completed_date": null,
      "mvr_status": "processing",
      "psp_status": "processing",
      "cdlis_status": "processing",
      "driver_reviews_status": "processing",
      "mvr_file": null,
      "psp_file": null,
      "cdlis_file": null,
      "driver_reviews_data": null,
      "safety_score": null,
      "safety_grade": null,
      "safety_risk_level": null
    }
  4. Results come back

    GET /api/vendor/v1/orders/{id}
    200 OK
    {
      "id": "3f2b9c1e-7a4d-4e8b-9c61-5d0a8e2f4b17",
      "status": "completed",
      "mc_number": "MC-123456",
      "submission_date": "2026-10-14T20:04:06Z",
      "completed_date": "2026-10-14T20:19:41Z",
      "mvr_status": "completed",
      "psp_status": "completed",
      "cdlis_status": "no_record",
      "driver_reviews_status": "completed",
      "mvr_file": "/api/vendor/v1/orders/3f2b9c1e-7a4d-4e8b-9c61-5d0a8e2f4b17/files/mvr",
      "psp_file": "/api/vendor/v1/orders/3f2b9c1e-7a4d-4e8b-9c61-5d0a8e2f4b17/files/psp",
      "cdlis_file": null,
      "driver_reviews_data": {
        "found": true,
        "reviews": [
          { "rating": 4,
            "text": "On time, careful with the load.",
            "date": "2026-08-30" }
        ]
      },
      "safety_score": 88,
      "safety_grade": "B",
      "safety_risk_level": "Low"
    }
    Report PDF
    curl --fail-with-body https://api-demo-safety.spotter.ai/api/vendor/v1/orders/3f2b9c1e-7a4d-4e8b-9c61-5d0a8e2f4b17/files/mvr \
      -H "X-API-Key: YOUR_API_KEY" \
      -OJ
    # saves sentinel-mvr-3f2b9c1e-7a4d-4e8b-9c61-5d0a8e2f4b17.pdf
  5. One line on the monthly invoice

    Invoice on the 1st, PDF and CSV
    • ReportBilled
    • No recordBilled
    • No chargeNo charge
    • VoidedNo charge