canonical: https://jentic.com/apis/groupe-psa.io/groupe-psa

# Groupe PSA Connected Car B2B API

The Groupe PSA Connected Car B2B API gives fleet operators and approved B2B partners programmatic access to telemetry and management data for connected Peugeot, Citroen, DS, Opel, and Vauxhall vehicles. Across 47 endpoints it exposes vehicle characteristics, fleet rosters, last known position, telemetry, alerts, alarms, collisions, maintenance schedules, theft tracking, and remote callback monitors. The API uses HTTPS client-certificate authentication combined with a client_id query parameter, and is intended for cert-environment integration before promotion to production. Pagination is server-side via opaque tokens to keep requests stateless.

## For AI agents

Read connected-vehicle telemetry, alerts, and fleet status for Peugeot, Citroen, DS, Opel, and Vauxhall fleets. Manage monitors and remote callbacks for fleet vehicles.

## Scope

Does not handle vehicle remote control (lock, unlock, climate), retail customer accounts, or dealer DMS workflows - use for B2B fleet telemetry, alerts, and monitoring only.

## Capabilities

- Retrieve vehicle characteristics and capabilities by VIN before adding it to a fleet workflow
- List the fleets owned by a B2B partner and drill into per-fleet vehicle rosters
- Pull the last known GPS position of a specific fleet vehicle for live tracking dashboards
- Read telemetry, alarms, and alerts at the fleet level or scoped to one vehicle
- Track collisions and maintenance events tied to individual vehicles for downstream service workflows
- Create and delete monitors that watch fleet conditions and fire remote callbacks
- Follow stolen-vehicle history and waypoints when a vehicle is reported stolen

## Use cases

### Connected fleet operations dashboard

Power a fleet operations cockpit that shows live position, telemetry, alerts, and maintenance status for every connected Peugeot, Citroen, DS, Opel, and Vauxhall vehicle in a partner fleet. The API exposes `/fleets/{fid}/vehicles` and per-vehicle telemetry, lastPosition, alerts, alarms, and maintenance endpoints, so operations teams can replace manual VIN spreadsheets with structured data refreshed on demand. Authentication uses a PSA-issued SSL certificate plus client_id, which keeps fleet data scoped to the contracted partner.

Example prompt: Call GET `/fleets/{fid}/status` and then GET `/fleets/{fid}/vehicles/{vid}/lastPosition` for any vehicle whose status is alerting.

### Predictive maintenance triggers

Detect maintenance needs across a connected vehicle fleet by polling `/fleets/{fid}/maintenances` and `/fleets/{fid}/vehicles/{vid}/maintenance`, then create work orders in a CMMS or service-scheduling system when due dates approach. Combined with the alerts and alarms endpoints this lets a workshop network respond before a breakdown rather than after the customer calls. Each maintenance record is keyed by vehicle id within a fleet, so jobs can be routed to the right depot.

Example prompt: Poll GET `/fleets/{fid}/maintenances` daily and create a work order for any vehicle whose maintenance status indicates due or overdue.

### Stolen vehicle recovery automation

Automate stolen-vehicle response workflows by registering a monitor through POST `/fleets/{fid}/monitors` and consuming the resulting remote callback when `/fleets/{fid}/vehicles/{vid}/stolen` state changes. The API also exposes `/stolen/{sid}/waypoints` so a recovery service can pull the breadcrumb trail for the police report without a phone tree. Token-based pagination keeps long stolen-history queries stateless.

Example prompt: Create a monitor on `/fleets/{fid}/monitors` for stolen-state changes and, when it fires, fetch `/fleets/{fid}/vehicles/{vid}/stolen/{sid}/waypoints` for the recovery report.

### AI agent integration through Jentic

Expose the Connected Car B2B API to a fleet-ops agent through Jentic so it can answer ad-hoc questions like 'where is van VIN-XYZ now?' or 'which vehicles in fleet 42 have open alerts?' without engineers shipping a custom client. The agent searches Jentic for the relevant intent, loads the structured input schema, and executes the call against api-cert.groupe-psa.com. Jentic isolates the PSA SSL certificate and client_id in its credential vault so the agent only sees scoped tokens.

Example prompt: Through Jentic, search 'get last position of fleet vehicle', load the operation, and execute it with the requested fleet id and vehicle id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/fleets` | List fleets owned by the partner |
| GET | `/fleets/{fid}/vehicles` | List vehicles in a fleet |
| GET | `/fleets/{fid}/vehicles/{vid}/lastPosition` | Last known GPS position of a fleet vehicle |
| GET | `/fleets/{fid}/vehicles/{vid}/telemetry` | Recent telemetry for a fleet vehicle |
| GET | `/fleets/{fid}/alerts` | Fleet-level alerts stream |
| POST | `/fleets/{fid}/monitors` | Create a monitor that fires a remote callback |
| GET | `/fleets/{fid}/vehicles/{vid}/stolen` | Stolen-state history for a vehicle |

## Key resources

- **vehicles** — Vehicle characteristics, capabilities, and per-VIN lookups
- **fleets** — Fleets owned by a B2B partner and the vehicles, statuses, and alerts within them
- **telemetry** — Real-time and recent telemetry data for a connected vehicle
- **alerts and alarms** — Fleet-level and vehicle-level alert and alarm streams
- **maintenance** — Maintenance schedules and events for fleet vehicles
- **monitors** — Server-side monitors that fire remote callbacks on fleet conditions
- **stolen** — Stolen-vehicle state, history, and recovery waypoints

## Why Jentic

- **Setup:** Wiring the Groupe PSA Connected Car B2B API by hand means provisioning its SSL client certificate, passing the client_id query credential, and pointing at the api-cert.groupe-psa.com host while handling fleet and vehicle pagination and retries yourself. Through Jentic you install once, import Groupe PSA from the API Directory, store the certificate and client_id once, and your agent calls it.
- **Permission scoping:** Groupe PSA puts the fleet id and vehicle id in the URL path (`/fleets/{fid}/vehicles/{vid}/...`), so a rule can pin your agent to one fleet or one vehicle: it can read that vehicle's last position and telemetry and nothing else. You choose the operations it may call, so creating a fleet monitor is not included unless you add it.
- **Credential handling:** Your PSA client certificate, its password, and the client_id 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 'get the last position of a fleet vehicle' or 'create a fleet monitor', and Jentic returns the matching PSA operation with its input schema, including the required fleet id and vehicle id, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Tesla Fleet API** — Connected vehicle and fleet API for Tesla vehicles
- **Routific API** — Route optimisation that pairs with telemetry data for delivery fleets
- **FedEx API** — Shipping and tracking platform that pairs with vehicle telemetry for last-mile fleets

## FAQ

### What authentication does the Groupe PSA Connected Car B2B API use?

The API uses HTTPS Basic authentication combined with a PSA-issued SSL client certificate, plus a client_id supplied as a query parameter. Both must be in place on every request. Through Jentic the certificate and client_id live in the vault, and the agent only ever receives a scoped, short-lived access token rather than the raw credentials.

### Can I read live telemetry and last-known position for a fleet vehicle?

Yes. GET `/fleets/{fid}/vehicles/{vid}/telemetry` returns the most recent telemetry for a single fleet vehicle, and GET `/fleets/{fid}/vehicles/{vid}/lastPosition` returns its last identified GPS position. Both are scoped to fleets the partner is contracted to access.

### How do I get notified when a fleet event occurs instead of polling?

Create a server-side monitor with POST `/fleets/{fid}/monitors` and register a remote callback. The PSA platform then pushes events to your callback rather than requiring continuous polling, which is why POST monitor calls return 202 Accepted with a processing id.

### What are the rate limits for the Connected Car B2B API?

The published spec does not encode rate limits. PSA enforces them at the gateway level per partner contract; coordinate with your PSA technical contact for the exact ceiling and back off on HTTP 429 if encountered.

### How do I track a stolen fleet vehicle through Jentic?

Install Jentic with pip install jentic, search for 'get stolen vehicle waypoints', load the matching operation, and execute it with the fleet id, vehicle id, and stolen id. Jentic resolves the call to GET `/fleets/{fid}/vehicles/{vid}/stolen/{sid}/waypoints` and returns the breadcrumb trail.

### Is this API the production environment or a test environment?

The base URL api-cert.groupe-psa.com is the certification environment used for partner integration testing. Promote to the production endpoint with PSA only after your integration passes their certification process; the path structure and operations remain the same.

### Can I limit what my agent is allowed to do with the Groupe PSA Connected Car B2B API?

Yes. Because you run Jentic One yourself, your own rules decide which operations and credentials the agent may use, and Groupe PSA puts the fleet id and vehicle id in the URL path (`/fleets/{fid}/vehicles/{vid}/...`), so you can pin the agent to a single fleet or a single vehicle. Scoped that way it can read only that vehicle's last position and telemetry through GET `/fleets/{fid}/vehicles/{vid}/lastPosition` and GET `/fleets/{fid}/vehicles/{vid}/telemetry` and nothing else. You choose the exact operations it may call, so creating a fleet monitor with POST `/fleets/{fid}/monitors` is excluded unless you add it.
