canonical: https://jentic.com/apis/prepass.com/prepass

# Prepass plfm-customer

The PrePass Customer Platform API (plfm-customer) looks up and maintains trucking customer accounts, devices, and vehicles in the PrePass CRM and Customer platform database. It finds an account by USDOT number and company address, by a billing contact's phone number, or by CRM account number, and lists accounts with sorting and filters. VPP accounts can be validated, created, updated, deactivated, and reactivated under a parent customer master, and devices such as transponders with their E-ZPass numbers can be listed, created, updated, deleted, and ordered for a vehicle. Carrier and vehicle records from CView are available by DOT number, plate, and state. The spec lists integration (INT) and test (TST) hosts.

## For AI agents

Look up PrePass trucking customer accounts by DOT number, phone, or account number, manage VPP accounts and transponder devices, and read carrier and vehicle records.

## Scope

Does not handle toll transactions, weigh-station bypass events, or billing payments. Use for PrePass customer account, device, and vehicle records only.

## Capabilities

- Find an active CRM account by DotNumber with CompanyName, AddressLine1, ZipCode, City, State, and Country
- Look up an account and its contact info by a billing contact's phone Number or by CRM account number
- Validate and create a VPP account under a customerMasterId with a unique accountName and costCenter, then update, deactivate, or reactivate it
- List devices by AccountId, DeviceNumber, EzPassNumber, or Status, and create, update, or delete a device
- Create a device order for a vehicle by vehicleId
- Retrieve a carrier by DOT number and list vehicles by DotNumber, Plate, and State, or the active vehicles for given Vins or Plates

## Use cases

### Agent-assisted customer support lookups through Jentic

A support developer gives their agent read access so it can answer which account a caller belongs to. Through Jentic the agent finds the PrePass account lookups by intent, searches by phone Number or DotNumber, and returns the account and contact details. The Ocp-Apim-Subscription-Key is attached by your own instance, and a rule can keep the agent to the GET lookups so it cannot create or deactivate accounts.

Example prompt: Call GET `/Account/phone` with Number 5555550123, and if nothing matches call GET /Account with DotNumber 1234567 and ZipCode 85004, then return the account number and contact

### VPP account lifecycle

Fleet customers split billing across cost centers, each a VPP account under a customer master. The validate operation checks that the customerMasterId exists and that accountName and costCenter are unique for that parent before POST `/Account/vppaccount` creates it; later changes go through PATCH, and accounts are switched off and on with the deactivate and reactivate operations by accountNumber.

Example prompt: Call POST `/Account/vppaccount/validate` with customerMasterId, accountName West Region, and costCenter CC-100, and if valid call POST `/Account/vppaccount` with the same values

### Transponder device management

Each truck needs a working device on the right account. GET /Device filters by AccountId, DeviceNumber, EzPassNumber, Status, and VrnId with pagination, POST /Device and PATCH /Device create and update devices asynchronously, and POST `/Device/orders` places a device order for a vehicleId.

Example prompt: Call GET /Device with AccountId 42 and Status active, then call POST `/Device/orders` with vehicleId for each vehicle that has no device

### Carrier and vehicle verification

Before onboarding a carrier, an operations team checks its registration and fleet. GET `/Carriers/{dotNumber}` returns the carrier record from CView, GET /Vehicles lists vehicles by DotNumber, Plate, and State, and GET `/Vehicles/active` confirms which Vins or Plates belong to an active CRM account.

Example prompt: Call GET `/Carriers/{dotNumber}` for DOT 1234567 and GET /Vehicles with DotNumber 1234567, then flag plates missing from GET `/Vehicles/active`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/Account` | Search an account by DOT number and address |
| GET | `/Account/phone` | Look up an account by phone number |
| GET | `/Account/{number}` | Look up an account by account number |
| POST | `/Account/vppaccount` | Create a VPP account |
| POST | `/Account/vppaccount/deactivate` | Deactivate a VPP account |
| GET | `/Device` | List devices |
| POST | `/Device/orders` | Create a device order |
| GET | `/Carriers/{dotNumber}` | Get a carrier from CView |

## Key resources

- **Accounts** — Search CRM accounts by DOT number and address, phone, or account number, and list accounts
- **VPP accounts** — Validate, create, update, deactivate, and reactivate VPP accounts under a customer master
- **Devices** — List, create, update, delete, and order devices for accounts and vehicles
- **Carriers and vehicles** — Read carrier records and vehicle lists from CView, and check active vehicles

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 22 / 100
- **Maturity:** Non-Ready
- **Dimensions:**
  - Foundational Compliance: 66 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 7 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 69 / 100
- **View full report:** https://jentic.com/apis/prepass.com/prepass/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring PrePass by hand means sending an Ocp-Apim-Subscription-Key per environment, choosing the INT or TST host, and learning which writes are processed asynchronously. Through Jentic you install once, import PrePass from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** PrePass puts the account number, DOT number, and device id in the URL path on its lookup and delete routes (`/Account/{number}`, `/Carriers/{dotNumber}`, `/Device/{deviceId}`), so a rule can pin those operations to one account or device. Account and device writes carry their target in the request body, so for those a rule bounds the operation. You choose what the agent may call, so VPP deactivation or device deletion is not included unless you add it.
- **Credential handling:** Your PrePass subscription key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find an account by DOT number' or 'list devices for an account', and Jentic returns the matching PrePass operation with its input schema, so the agent sends the right PascalCase query parameters.

## Related APIs

- **Samsara API** — Fleet telematics for vehicle location, driver safety, and HOS compliance
- **NHTSA Vehicle API (vPIC)** — Decodes VINs into make, model, and vehicle specifications
- **NetworkFleet API** — Vehicle lists, current locations, and trip history from a telematics platform

## FAQ

### What authentication does the PrePass Customer Platform API use?

Per its OpenAPI spec, the API authenticates with an Azure API Management subscription key sent in the Ocp-Apim-Subscription-Key request header, set per environment. Through Jentic the key is stored by your own instance and attached at call time, so the agent never handles it.

### Which environments does the PrePass Customer Platform API list?

The spec lists two hosts: an integration (INT) environment at https://api-int.prepass.com/int/ent/customersuccess/v1.0 and a test (TST) environment at https://api-tst.prepass.com/int/ent/customersuccess/v1.0. Each environment takes its own subscription key.

### Can I find a customer account by DOT number?

Yes. GET /Account searches the CRM using DotNumber together with company address fields such as CompanyName, AddressLine1, ZipCode, City, State, and Country, and returns only accounts that are active or inactive, not archived, and in good billing status. GET `/Account/phone` and GET `/Account/{number}` look up by phone or account number instead.

### What are the rate limits for the PrePass Customer Platform API?

The OpenAPI spec does not specify rate limits. Because the API sits behind Azure API Management, limits are set per subscription; confirm them with PrePass through https://prepass.com before running bulk account or device syncs.

### Is there a PrePass MCP server?

You don't need an MCP server to give your agent PrePass. Jentic connects it directly from the API Directory: import it, store your subscription key once, and your agent calls the account, device, and vehicle operations it needs, discovered on demand instead of loaded into its context up front.

### Can I limit what my agent is allowed to do with the PrePass API?

Yes. For a support agent, allow GET /Account, GET `/Account/phone`, GET `/Account/{number}`, and GET /Device, and it can find accounts and their devices but cannot create VPP accounts, deactivate them, or delete a device. Every call it makes is logged so you can audit which accounts it looked up.

### How do I order a device for a truck through Jentic?

Search Jentic for 'order a transponder device for a vehicle', load POST `/Device/orders`, and send the vehicleId, which the request body requires. To run it on your own infrastructure, install Jentic One from its GitHub repo.
