PulseRoute integration documentation
Everything your engineering team needs to feed shipments into PulseRoute and pull risk intelligence back out — REST API, webhooks, EDI, file import and SSO. Your API base URL ishttps://logistics.metis.gold.
Overview
There are four ways to connect a system to PulseRoute. Pick whichever your platform supports — you can mix and match.
REST API
Push and pull shipments as JSON. Best for modern TMS/ERP with outbound APIs.
Webhooks
Receive real-time events in your systems as shipments change and risk alerts fire.
EDI (X12 / EDIFACT)
Send 204 load tenders and 214 status messages via VAN, AS2 or SFTP.
File import / SFTP
Drag-and-drop CSV/Excel or schedule nightly batch drops from legacy tools.
Authentication
API requests authenticate with your organization API key. Find and rotate it under Settings → API access. Pass it in theX-API-Key header (preferred) or theapi_key query parameter.
curl https://logistics.metis.gold/api/v1/shipments \
-H "X-API-Key: pr_your_api_key_here"Keys are secret — never expose them in browser or mobile client code. Rotate immediately if leaked; rotation invalidates the old key.
REST API
Create a shipment
POST /api/v1/shipments — creates a shipment and automatically triggers AI risk scoring in the background. Provide coordinates, or an address we can geocode.
curl -X POST https://logistics.metis.gold/api/v1/shipments \
-H "X-API-Key: pr_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"reference": "SHP-10231",
"carrier": "DHL",
"originAddress": "Houston, Texas, United States",
"destinationAddress": "Miami, Florida, United States",
"cargoDescription": "Electronics, high value",
"scheduledDeparture": "2026-07-04T12:00:00Z",
"scheduledArrival": "2026-07-05T12:00:00Z"
}'Optional fields: status, and explicit originLat/originLng/destinationLat/destinationLng to skip geocoding.
List shipments
GET /api/v1/shipments returns your latest shipments including their risk score and level.
{
"shipments": [
{
"id": "clx...",
"reference": "SHP-10231",
"carrier": "DHL",
"status": "in-transit",
"riskAssessment": { "score": 34, "riskLevel": "medium", "summary": "..." }
}
]
}Webhooks
Configure a receiving URL and secret under Settings → Outbound webhooks. PulseRoute POSTs a JSON payload for each subscribed event and signs it with HMAC-SHA256.
| Event | Fires when |
|---|---|
| shipment.created | A new shipment was ingested (UI, API, or bulk import). |
| shipment.status_changed | A shipment moved between pending / in-transit / delivered / alert. |
| risk.alert | A shipment crossed the high-risk threshold after AI scoring. |
Example payload:
{
"event": "risk.alert",
"timestamp": "2026-07-04T12:03:22.000Z",
"data": { "shipmentId": "clx...", "reference": "SHP-10231", "score": 82 }
}Verify the X-PulseRoute-Signature header before trusting a payload:
import crypto from 'crypto';
function verify(rawBody, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(rawBody)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}File & EDI import
For systems that only export files, use Settings → Bulk upload. Choose your source system to auto-map its columns, or select EDI X12 for 204/214 files. Rows are geocoded and risk-scored automatically.
CSV field reference
| Column | Required | Notes |
|---|---|---|
| reference | Yes | Your shipment / load / order id |
| carrier | Yes | Carrier name or SCAC |
| origin_address | Yes | City, State, Country (geocoded) |
| destination_address | Yes | City, State, Country (geocoded) |
| scheduled_departure | Yes | ISO 8601 timestamp |
| scheduled_arrival | Yes | ISO 8601, must be after departure |
| cargo_description | No | Free text commodity |
| status | No | pending / in-transit / delivered / alert |
Vendor presets (Oracle OTM, SAP TM, Manhattan, Samsara, Geotab) automatically recognize each system’s native column names, so you can drop an unmodified export.
EDI X12 204 / 214
PulseRoute parses the 204 Motor Carrier Load Tender into shipments (reference, carrier SCAC, stops via S5/N4, dates via G62) and the 214 Shipment Status into status updates. Send via SFTP, AS2 or VAN, or upload the file directly.
ST*204*0001~
B2**DHLC**SHP-EDI-001*L~
L11*ORDER-88213*CO~
G62*10*20260704~
G62*02*20260705~
S5*1*LD~
N4*Houston*TX*77002*US~
S5*2*UL~
N4*Miami*FL*33101*US~
SE*10*0001~System guides
Step-by-step connection notes for the platforms most logistics teams run.
Transportation Management (TMS)
Oracle Transportation Management
REST API · EDI · File Import
- In OTM, create an integration user and generate a REST endpoint for outbound shipment events.
- Point OTM outbound to your PulseRoute webhook URL, or push loads to POST /api/v1/shipments with your API key.
- For scheduled batches, export OTM shipments to CSV/XML and import via Settings → Bulk upload (choose "Oracle OTM").
SAP Transportation Management
REST API · EDI · File Import
- Expose freight orders via an OData/REST service or an IDoc → flat-file drop.
- Map SAP freight order fields to the PulseRoute shipment schema (reference, carrier, origin, destination, dates).
- Push via POST /api/v1/shipments, or drop the export file into Bulk upload (choose "SAP TM").
Blue Yonder (JDA)
REST API · File Import
- Enable Blue Yonder outbound integration for shipment/stop events.
- Forward events to your PulseRoute webhook, or POST loads to the REST API.
- Batch exports can be imported as CSV via Bulk upload.
Manhattan Associates
REST API · File Import · EDI
- Use Manhattan Active integration APIs to publish shipment events.
- Route them to PulseRoute via REST or webhook.
- Alternatively schedule CSV/EDI exports into Bulk upload.
C.H. Robinson Navisphere
REST API · EDI
- Request Navisphere API access or an EDI trading-partner relationship.
- Map load tenders (204) and status (214) to PulseRoute shipments.
- Deliver via REST/webhook or EDI file drop.
Kuebix / Trimble
REST API · File Import
- Export shipments from Kuebix as CSV, or use the Trimble API where available.
- Import via Bulk upload or POST to the REST API.
Uber Freight
REST API · Webhook
- Use Uber Freight partner APIs for booked loads and tracking events.
- Forward tracking events to your PulseRoute webhook endpoint.
Real-Time Visibility
project44
REST API · Webhook
- In project44, subscribe PulseRoute to shipment tracking events.
- Set the callback URL to your PulseRoute webhook endpoint.
- Location + ETA updates are matched to shipments by reference.
FourKites
REST API · Webhook
- Enable FourKites API/notification push for your loads.
- Direct notifications to the PulseRoute webhook URL.
Telematics & ELD
Samsara
REST API · Webhook · File Import
- Create a Samsara API token (Settings → API Tokens) with fleet read scope.
- Configure Samsara webhooks to POST vehicle/location events to PulseRoute.
- Or export vehicle & trip reports as CSV and import via Bulk upload (choose "Samsara").
Geotab
REST API · File Import
- Use MyGeotab SDK/API credentials (database, user, password) to read device data.
- Map devices to shipments/carriers, or export MyGeotab data to CSV and import via Bulk upload (choose "Geotab").
Omnitracs (Solera)
REST API · File Import · SFTP
- Use Omnitracs XRS/ES APIs where available, or scheduled report exports.
- Drop exports to an SFTP folder or import CSV via Bulk upload.
Motive (KeepTruckin)
REST API · Webhook
- Generate a Motive API key and subscribe to vehicle location webhooks.
- Route events to your PulseRoute webhook endpoint.
ERP & Order Systems
SAP S/4HANA
REST API · File Import
- Expose outbound deliveries via OData or IDoc → flat file.
- Create a PulseRoute shipment per delivery via the REST API.
Oracle Fusion / NetSuite
REST API · File Import
- Use Oracle Fusion / NetSuite REST services to read fulfillment orders.
- Push each order to POST /api/v1/shipments.
Microsoft Dynamics 365
REST API · File Import
- Use Dataverse/Dynamics APIs or Power Automate to forward orders.
- Call the PulseRoute REST API per shipment.
EDI & Data Standards
ANSI ASC X12 EDI
EDI · File Import · SFTP
- Establish a trading-partner relationship (AS2, SFTP, or VAN).
- Send 204 load tenders and 214 status messages to your PulseRoute SFTP/inbox.
- PulseRoute parses 204/214 into shipments — upload directly via Bulk upload (choose "EDI X12").
UN/EDIFACT
EDI · File Import · SFTP
- Exchange IFTMIN (instruction) and IFTSTA (status) via your VAN or SFTP.
- Contact us to map your EDIFACT segments to the shipment schema.
Universal Connectors
PulseRoute REST API
REST API
- Grab your API key in Settings → API access.
- POST shipments to /api/v1/shipments with the X-API-Key header.
- GET /api/v1/shipments to pull scored shipments back into your system.
Outbound Webhooks
Webhook
- Set your receiving URL and secret in Settings → Outbound webhooks.
- Verify the HMAC-SHA256 signature on the X-PulseRoute-Signature header.
- Subscribe to specific events or * for all.
CSV / Excel Import
File Import
- Download the template in Settings → Bulk upload.
- Map your columns (or use a vendor preset) and drop the file.
- Rows are geocoded and risk-scored automatically.
SFTP Batch Drop
SFTP · File Import
- Contact us to provision an SFTP inbox for your organization.
- Schedule your system to drop export files nightly.
- PulseRoute picks up, parses and scores each batch.
Enterprise SSO
PulseRoute supports Google Workspace SSO out of the box and SAML 2.0 for enterprise identity providers (Okta, Azure AD, OneLogin, Ping).
- Go to Settings → Enterprise SSO and enable SAML.
- Give your IdP admin the SP metadata URL
/api/auth/saml/metadataand ACS URL/api/auth/saml/acs. - Paste your IdP SSO URL and metadata XML back into PulseRoute and save.
- Users are provisioned on first login with the analyst role; admins can elevate access.