Supergood | CDK Global API

Supergood | CDK Global API

Programmatically access CDK Global dealership data—inventory, CRM, service scheduling, and repair orders—with a stable REST API. Supergood builds and operates production-grade, unofficial CDK Global integrations so your startup can sell into car dealerships faster without heavy custom engineering.

In plain English: CDK Global is the software many car dealerships use to run their day-to-day operations. An unofficial API gives you programmatic hooks into that system, so you can read and write key dealership records (vehicles, customers, leads, appointments, repair orders) without manual exports or swivel-chair work.

If you’re a tech company integrating with CDK Global, you could pull live inventory and pricing, push website leads into the dealer’s CRM, create and manage service appointments, track repair order status and line items, and sync customer data—all to power features like real-time quotes, service scheduling, automated lead routing, and dealership onboarding that “just works.”

What is CDK Global?

CDK Global provides enterprise software for automotive retail. Its products (e.g., dealership management systems, CRM, service and parts, accounting, F&I, and websites/digital retailing) help franchised and independent dealers operate sales, service, and back office workflows.

Core product families include:

  • Dealership Management Systems (e.g., CDK Drive): sales, service, parts, accounting
  • CRM and Internet Lead Management: lead routing, desking, customer communications
  • Fixed Operations: service scheduling, repair orders (ROs), parts inventory
  • Digital Retailing and Websites: inventory syndication, pricing, online checkout
  • OEM and Partner Connectivity: incentives, recalls, and certified data exchanges

Common data entities:

  • Customers and household profiles
  • Vehicle inventory (new, used, CPO) and pricing
  • Leads, opportunities, and deals (desking/F&I)
  • Service appointments and repair orders (labor, parts, totals)
  • Parts inventory, suppliers, and purchase orders
  • Accounting postings, invoices, and payments

The CDK Global Integration Challenge

Dealers rely on CDK daily, but turning portal-based workflows and varied DMS modules into automated pipelines is tricky:

  • Product-specific access: Different modules (Drive DMS, CRM, Service, Parts) have distinct interfaces, schemas, and entitlements
  • Strong enterprise security: SSO/MFA and dealer-specific network controls complicate headless automation
  • Portal-first delivery: Many capabilities live in web apps rather than unified, public APIs
  • Dealer-by-dealer variability: Custom fields, codes (op codes), and local processes require normalization
  • Licensing and usage controls: Access must respect contracts, roles, and rate constraints programmatically

How Supergood Creates CDK Global APIs

Supergood reverse-engineers authenticated browser flows and dealer-specific network interactions to deliver a resilient API endpoint layer.

  • Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes responses so you can integrate once and rely on consistent objects across dealerships and modules
  • Aligns with customer entitlements and licensing constraints to ensure compliant access

Use Cases

Digital Retailing and Lead Automation

  • Push online leads and build deals automatically in the dealer’s CRM
  • Route leads to the right rooftop, department, or salesperson with normalized fields
  • Attach vehicle-of-interest and pricing to improve conversion and speed-to-contact

Inventory and Pricing Sync

  • Pull vehicle inventory with trim, packages, photos, and price changes in near real time
  • Update website listings, marketplace feeds, and quote engines programmatically
  • Detect status changes (in-stock, sold, wholesale) and alert downstream systems

Service Scheduling and RO Visibility

  • Create and manage service appointments from your app with advisor assignment
  • Track repair orders with line items, statuses, and totals to power status updates and payments
  • Notify customers when ROs change state (waiting parts, ready for pickup)

Dealer Onboarding and Data Migration

  • Import customer lists and vehicles to bootstrap a new dealer on your platform
  • Validate field mappings across dealers (op codes, departments, price rules) with consistent schemas
  • Reduce go-live friction with automated credential handling and entitlement checks

Available Endpoints

Authentication

POST /sessions: Establish a session using CDK credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": {
      "type": "totp",
      "code": "123456"
    },
    "dealerCode": "ABC123"
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_3f21aa",
    "name": "Service Manager",
    "roles": ["service", "crm"],
    "dealerCode": "ABC123",
    "entitlements": ["inventory.read", "crm.write", "service.write"]
  }
}

POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.

Inventory

GET /inventory/vehicles: List vehicle inventory with filters and pricing details. Useful for website sync, marketplace feeds, and quoting.

Query parameters

  • status: in_stock | sold | wholesale | demo
  • condition: new | used | cpo
  • make, model, trim: string
  • priceFrom, priceTo: number
  • updatedFrom, updatedTo: ISO 8601 timestamps
  • lot, rooftopId: string

Example response

{
  "items": [
    {
      "vehicleId": "veh_92bd10",
      "vin": "1HGCM82633A004352",
      "stockNumber": "H12345",
      "year": 2021,
      "make": "Honda",
      "model": "Accord",
      "trim": "EX-L",
      "mileage": 18325,
      "condition": "used",
      "status": "in_stock",
      "colorExterior": "Blue",
      "colorInterior": "Black",
      "msrp": 24500,
      "internetPrice": 22995,
      "salePrice": null,
      "certified": false,
      "photos": [
        {"url": "https://photos.example/abc.jpg", "tag": "front"},
        {"url": "https://photos.example/def.jpg", "tag": "interior"}
      ],
      "packages": ["Safety", "Premium Audio"],
      "lot": "Main",
      "rooftopId": "rt_001",
      "updatedAt": "2026-01-20T12:15:44Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

CRM & Leads

POST /crm/leads: Create a new CRM lead and route it to the correct dealer rooftop and salesperson.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/crm/leads \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "customer": {
      "firstName": "Alex",
      "lastName": "Rivera",
      "email": "[email protected]",
      "phone": "+1-415-555-0100",
      "preferredContact": "email"
    },
    "vehicleOfInterest": {
      "vin": "1FTFW1E58MKD12345",
      "stockNumber": "F67890"
    },
    "source": "website",
    "campaignId": "spring-sale-2026",
    "notes": "Customer asked about towing capacity",
    "rooftopId": "rt_001",
    "assignToUserId": "u_sales_77",
    "referenceId": "lead-website-8821"
  }'

Example response

{
  "leadId": "lead_45b8a2",
  "status": "open",
  "createdAt": "2026-01-19T15:21:09Z",
  "rooftopId": "rt_001",
  "referenceId": "lead-website-8821"
}

Service

POST /service/appointments: Create a service appointment with requested operations and advisor assignment.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/service/appointments \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "customerId": "cust_27a31c",
    "vehicleVin": "5YJSA1E26MF123456",
    "requestedServices": [
      {"opCode": "A123", "description": "Oil change"},
      {"opCode": "B210", "description": "Tire rotation"}
    ],
    "preferredAt": "2026-01-22T10:30:00-08:00",
    "advisorId": "u_service_12",
    "transportation": {"loaner": false, "shuttle": true},
    "notes": "Customer will wait",
    "referenceId": "svc-req-10001"
  }'

Example response

{
  "appointmentId": "appt_93c0d1",
  "status": "scheduled",
  "scheduledAt": "2026-01-22T10:30:00-08:00",
  "advisorId": "u_service_12",
  "dealerCode": "ABC123",
  "referenceId": "svc-req-10001"
}

PATCH /service/repair-orders/{roNumber}: Update a repair order’s external status or add a customer communication marker (e.g., ready for pickup). Useful for customer messaging and workflow orchestration.

curl --request PATCH \
  --url https://api.supergood.ai/integrations/<integration_id>/service/repair-orders/RO-004512 \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "status": "ready",
    "externalStatus": "customer_notified",
    "notes": "Vehicle ready at 4pm",
    "referenceId": "ro-update-4512"
  }'

Example response

{
  "roNumber": "RO-004512",
  "status": "ready",
  "labor": {
    "lines": [
      {"opCode": "A123", "hours": 1.0, "rate": 145.0, "total": 145.0}
    ],
    "subTotal": 145.0
  },
  "parts": {
    "lines": [
      {"partNumber": "15400-PL2-505", "qty": 1, "price": 10.50, "total": 10.50}
    ],
    "subTotal": 10.5
  },
  "tax": 12.38,
  "grandTotal": 167.88,
  "externalStatus": "customer_notified",
  "updatedAt": "2026-01-20T16:05:42Z",
  "referenceId": "ro-update-4512"
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or dealer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination across rooftops
  • Rate limits: Tuned for dealership throughput while honoring licensing and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of inventory, leads, appointments, and RO updates
  • Security: Encrypted transport, scoped tokens, and audit logging; respects CDK entitlements
  • Webhooks: Optional asynchronous delivery for appointment reminders and RO status changes

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume lead intake, inventory sync, and service scheduling
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your dealers, modules, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened CDK adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as CDK evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which CDK Global modules can this integration cover?

Subject to your licensing and entitlements, Supergood supports workflows across commonly used modules such as Drive DMS (inventory, service, parts, accounting), CRM/ILM, and fixed ops. We scope coverage during integration assessment.

Q: How are MFA and SSO handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.

Q: Can we write data (e.g., leads, appointments) back to CDK?

Yes. Where dealer entitlements permit, you can create leads, schedule appointments, and update repair order statuses. We enforce role-based controls and audit all writes.



Ready to automate your CDK Global workflows?

Supergood can have your CDK Global integration live in days with no ongoing engineering maintenance.

Get Started →

Read more