canonical: https://jentic.com/apis/mercedes-benz.com/mercedes-benz-diagnostics-api

# Mercedes Benz Remote Diagnostic Support

Jentic publishes the only available OpenAPI specification for Remote Diagnostic Support, keeping it validated and agent-ready. The Mercedes-Benz Remote Diagnostic Support API lets authorised third parties pull on-board diagnostic data from a Mercedes-Benz vehicle on the customer's consent. It returns active Diagnostic Trouble Codes (DTCs), DTC snapshots from individual ECUs, ECU readouts, and resource readouts, all scoped per vehicleId (VIN/FIN). The API is designed for partners such as roadside assistance providers and authorised workshops who need fault data before sending a technician.

## For AI agents

Pull DTCs, ECU readouts, and DTC snapshots from a Mercedes-Benz vehicle by VIN/FIN across 4 POST endpoints designed for remote workshop diagnosis.

## Scope

Does not handle vehicle control, location, fuel, configuration, or imagery - use for reading DTCs, ECU readouts, and DTC snapshots from a Mercedes-Benz vehicle only.

## Capabilities

- Read all active Diagnostic Trouble Codes from a Mercedes-Benz vehicle by vehicleId
- Retrieve a DTC snapshot for a specific ECU and DTC combination to diagnose a fault
- Pull readouts from a vehicle's electronic control units for deeper analysis
- Fetch resource readouts to inspect raw diagnostic resources from the vehicle
- Power roadside-assistance triage by reading vehicle fault state before a technician arrives

## Use cases

### Roadside assistance pre-arrival triage

Roadside assistance providers (ADAC, ATU, RAC) read a stranded driver's vehicle DTCs before dispatching a technician. POST `/vehicles/{vehicleId}/dtcReadouts` returns the active fault codes, which the dispatcher uses to send the right specialist with the right parts. This shortens fix time and avoids second visits.

Example prompt: POST `/vehicles/{vehicleId}/dtcReadouts` with the customer's VIN and summarise the top fault for the dispatcher.

### Independent workshop remote diagnosis

Authorised independent workshops pull ECU readouts and DTC snapshots remotely before the customer arrives. POST `/vehicles/{vehicleId}/ecuReadouts` captures ECU state and POST `/vehicles/{vehicleId}/ecuId/{ecuId}/dtcId/{dtcId}/dtcSnapshotReadouts` returns the snapshot conditions when a fault was logged, so parts and labour can be prepared ahead of time.

Example prompt: POST `/vehicles/{vehicleId}/ecuReadouts` to capture ECU state, then for each fault POST `/vehicles/{vehicleId}/ecuId/{ecuId}/dtcId/{dtcId}/dtcSnapshotReadouts` to retrieve the snapshot.

### Fleet health monitoring

Fleet operators with Mercedes-Benz vehicles run scheduled DTC readouts to catch faults before they cause downtime. The vehicleId scoping lets the operator iterate VINs and consolidate fault data, prioritising vehicles with critical DTCs for service.

Example prompt: For each vehicleId in the fleet, POST `/vehicles/{vehicleId}/dtcReadouts` and aggregate active DTCs, flagging critical fault codes for service scheduling.

### Agent-driven fault triage via Jentic

An AI assistant triages a customer's car remotely: the customer provides a VIN, the agent calls `/vehicles/{vehicleId}/dtcReadouts` and recommends an action. Jentic handles the OAuth credential and exposes diagnostic operations by intent, so the agent does not need to manage tokens directly.

Example prompt: Search Jentic for 'read mercedes fault codes', load the /dtcReadouts schema, execute it with the customer's vehicleId, and return the active DTCs with severity.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/vehicles/{vehicleId}/dtcReadouts` | Read active DTCs from a vehicle |
| POST | `/vehicles/{vehicleId}/ecuReadouts` | Pull readouts from the vehicle's ECUs |
| POST | `/vehicles/{vehicleId}/ecuId/{ecuId}/dtcId/{dtcId}/dtcSnapshotReadouts` | Retrieve a DTC snapshot for an ECU+DTC pair |
| POST | `/vehicles/{vehicleId}/resourceReadouts` | Read raw resource data from a vehicle |

## Key resources

- **Diagnostic Trouble Codes** — Active DTCs read from the vehicle, scoped per vehicleId
- **DTC Snapshots** — Snapshot conditions captured when a specific DTC was logged on a specific ECU
- **Electronical Control Units** — ECU readouts revealing module state and identifiers
- **Resources** — Raw resource readouts available from the vehicle

## Why Jentic

- **Setup:** Wiring Mercedes-Benz Remote Diagnostic Support by hand means running the OAuth 2.0 client-credentials and per-customer token flow, refreshing tokens against the remotediagnostic_tryout host, and posting DTC and ECU readout requests yourself. Through Jentic you install once, import Remote Diagnostic Support from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** Remote Diagnostic Support puts the vehicle id in the URL path (`/vehicles/{vehicleId}/dtcReadouts`), so a rule can pin your agent to one vehicle: it can read that vehicle's fault codes and ECU snapshots and nothing else. You choose the operations it may call, so a rule can grant DTC and ECU readouts while leaving out resource readouts you do not want included.
- **Credential handling:** Your Mercedes-Benz OAuth credentials and access tokens are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'read Mercedes fault codes' or 'get an ECU readout', and Jentic returns the matching Remote Diagnostic Support operation with its vehicleId and ecuId schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Remote Diagnostic Support** — An equivalent diagnostics spec entry under a different api_slug; same operations and base URL.
- **Smartcar** — Multi-brand connected-car API covering many manufacturers but with shallower DTC support.
- **Tesla Fleet API** — Fleet operators with mixed marques use Tesla Fleet alongside Mercedes diagnostics for cross-brand fleet health.

## FAQ

### Why is there no official OpenAPI spec for Remote Diagnostic Support?

Mercedes-Benz does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Remote Diagnostic Support via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Remote Diagnostic Support API use?

The API uses OAuth 2.0 with explicit customer consent - the Mercedes-Benz vehicle owner must authorise the third-party application before a partner can pull diagnostic data. Jentic securely stores the OAuth client credentials and exchanges access tokens at execution time.

### Can I read DTCs from a vehicle without the owner's consent?

No. Every diagnostic call is keyed to a vehicleId and requires an OAuth flow that the vehicle owner has authorised. The API is designed for legitimate partners operating with the customer's permission.

### What are the rate limits for the Remote Diagnostic Support API?

Numeric limits are not in the spec. Production rate limits are negotiated per Mercedes-Benz developer portal contract; the tryout host is throttled for evaluation volumes.

### How do I read fault codes for a customer's vehicle through Jentic?

Search Jentic for 'read mercedes fault codes', load the POST `/vehicles/{vehicleId}/dtcReadouts` schema, and execute it with the customer's VIN. Jentic handles the OAuth exchange and returns the active DTCs.

### Why are diagnostic operations modelled as POST instead of GET?

DTC and ECU readouts cause the vehicle to perform an active diagnostic operation, so they are POSTs rather than idempotent GETs to reflect the side effect on the car.

### Can I limit what my agent is allowed to do with the Remote Diagnostic Support API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and the vehicle id sits in the URL path (`/vehicles/{vehicleId}/dtcReadouts`), so a rule can pin the agent to a single vehicle and let it read only that car's fault codes and ECU snapshots. You also choose which operations it may call, so a rule can grant DTC and ECU readouts while leaving out the resource readouts. The OAuth credentials it needs are held by your own instance and injected at execution time rather than exposed to the agent.
