Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the plfm-customer, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fprepass.com%2Fprepass" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fprepass.com%2Fprepass" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with plfm-customer API.
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
GET STARTED
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
Patterns agents use plfm-customer API for, with concrete tasks.
★ 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.
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.
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.
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.
Call GET /Carriers/{dotNumber} for DOT 1234567 and GET /Vehicles with DotNumber 1234567, then flag plates missing from GET /Vehicles/active
18 endpoints — 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.
METHOD
PATH
DESCRIPTION
/Account
Search an account by DOT number and address
/Account/phone
Look up an account by phone number
/Account/{number}
Look up an account by account number
/Account/vppaccount
Create a VPP account
/Account/vppaccount/deactivate
Deactivate a VPP account
/Device
List devices
/Device/orders
Create a device order
/Carriers/{dotNumber}
Get a carrier from CView
/Account
Search an account by DOT number and address
/Account/phone
Look up an account by phone number
/Account/{number}
Look up an account by account number
/Account/vppaccount
Create a VPP account
/Account/vppaccount/deactivate
Deactivate a VPP account
/Device
List devices
/Device/orders
Create a device order
/Carriers/{dotNumber}
Get a carrier from CView
What agents get from Jentic-routed access to this vendor.
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 isolation
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.
Intent-based discovery
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.
Alternatives and complements available in the Jentic catalogue.
Specific to using plfm-customer API through Jentic.
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.
Know of an official OpenAPI document? Contribute it →
For 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.
Use for: Find the PrePass account for USDOT number 1234567, Look up a customer account by the billing contact's phone number, Check whether a new VPP account name is valid before creating it, Deactivate the VPP account for a closed cost center
Not supported: Does not handle toll transactions, weigh-station bypass events, or billing payments. Use for PrePass customer account, device, and vehicle records only.
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.
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.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>