OID Agent Network
Developer API guide

Vendor-neutral DMS connector · v1

Every dealer vehicle receives one durable OID.

Any DMS can synchronise dealer inventory, workshop activity, inspections, repairs, warranty outcomes and document fingerprints through the same production API.

Open API contract Register a dealer integrationOpen connection hub

1. Authorise the dealer

The production credential belongs to one verified dealership and carries only the approved DMS write scopes.

2. Sync inventory

Send one vehicle or a batch of up to 1,000. OID resolves the VIN before it issues anything.

3. Sync records

Append idempotent workshop, inspection, repair, warranty and registration events to controlled vehicles.

4. Transfer on sale

The dealership remains controller until the buyer accepts the existing OID transfer journey.

Inventory upsert

Issue once, then keep the mapping.

New VINs receive an OID controlled by the dealership's verified email, with the dealership recorded as custodian. Existing VINs return their current OID. If another party controls it, the result is transfer_required; the DMS cannot replace control.

POST /api/v1/production/dms/vehicles
Authorization: Bearer oid_sk_live_…

{
  "sourceSystem": "your-dms",
  "externalDealerId": "dealer-42",
  "dealerContactEmail": "stock@exampledealer.com.au",
  "vehicles": [{
    "externalVehicleId": "stock-1042",
    "vin": "KMHJ3814DNU123456",
    "jurisdiction": "WA",
    "manufactureYear": 2024,
    "make": "Genesis",
    "model": "G70",
    "variant": "3.3T Sport"
  }]
}
History ingestion

Traceable records without duplicate events.

Each source record carries a stable idempotency key. Replays return the original result; reusing the key with changed data is rejected. Document fingerprints can be shown as registered evidence without making private document contents public.

POST /api/v1/production/dms/records
Authorization: Bearer oid_sk_live_…

{
  "sourceSystem": "your-dms",
  "externalDealerId": "dealer-42",
  "records": [{
    "idempotencyKey": "repair-order-991",
    "externalVehicleId": "stock-1042",
    "eventType": "service",
    "occurredAt": "2026-08-01T08:30:00+08:00",
    "odometerKm": 48320,
    "description": "Scheduled service completed.",
    "providerName": "Example Dealer Workshop",
    "document": {
      "filename": "service-invoice.pdf",
      "mimeType": "application/pdf",
      "sha256": "<64-character SHA-256>"
    }
  }]
}
Sale handover

Move control without replacing the identity.

A sold event creates the existing OID transfer invitation for the buyer. The operation is idempotent, attributed to the dealership integration and requires the separate dms:transfers:write scope.

POST /api/v1/production/dms/sales
Authorization: Bearer oid_sk_live_…

{
  "sourceSystem": "your-dms",
  "externalDealerId": "dealer-42",
  "externalVehicleId": "stock-1042",
  "idempotencyKey": "sale-1042-2026-08-02",
  "buyerName": "Alex Morgan",
  "buyerEmail": "alex@example.com",
  "soldAt": "2026-08-02T14:30:00+08:00",
  "authorityConfirmed": true
}
Operational commands

Let the dealer request a safe retry.

Poll the command queue after a failed or partial run, acknowledge the request, replay the source records with their original stable identifiers and mark the command completed.

GET /api/v1/production/dms/commands
  ?sourceSystem=your-dms
  &externalDealerId=dealer-42
Authorization: Bearer oid_sk_live_…

One VIN, one OID, no automatic takeover.

DMS access can create identities for new stock and write records only while that dealership controls the vehicle. A sale changes control through the audited transfer workflow, preserving the full vehicle history.

Manage credentials