CTO & Developer Guide

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.

bash
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.

bash
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.

json
{
  "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.

EventFires when
shipment.createdA new shipment was ingested (UI, API, or bulk import).
shipment.status_changedA shipment moved between pending / in-transit / delivered / alert.
risk.alertA shipment crossed the high-risk threshold after AI scoring.

Example payload:

json
{
  "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:

javascript
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

ColumnRequiredNotes
referenceYesYour shipment / load / order id
carrierYesCarrier name or SCAC
origin_addressYesCity, State, Country (geocoded)
destination_addressYesCity, State, Country (geocoded)
scheduled_departureYesISO 8601 timestamp
scheduled_arrivalYesISO 8601, must be after departure
cargo_descriptionNoFree text commodity
statusNopending / 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.

edi
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

  1. In OTM, create an integration user and generate a REST endpoint for outbound shipment events.
  2. Point OTM outbound to your PulseRoute webhook URL, or push loads to POST /api/v1/shipments with your API key.
  3. 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

  1. Expose freight orders via an OData/REST service or an IDoc → flat-file drop.
  2. Map SAP freight order fields to the PulseRoute shipment schema (reference, carrier, origin, destination, dates).
  3. Push via POST /api/v1/shipments, or drop the export file into Bulk upload (choose "SAP TM").

Blue Yonder (JDA)

REST API · File Import

  1. Enable Blue Yonder outbound integration for shipment/stop events.
  2. Forward events to your PulseRoute webhook, or POST loads to the REST API.
  3. Batch exports can be imported as CSV via Bulk upload.

Manhattan Associates

REST API · File Import · EDI

  1. Use Manhattan Active integration APIs to publish shipment events.
  2. Route them to PulseRoute via REST or webhook.
  3. Alternatively schedule CSV/EDI exports into Bulk upload.

C.H. Robinson Navisphere

REST API · EDI

  1. Request Navisphere API access or an EDI trading-partner relationship.
  2. Map load tenders (204) and status (214) to PulseRoute shipments.
  3. Deliver via REST/webhook or EDI file drop.

Kuebix / Trimble

REST API · File Import

  1. Export shipments from Kuebix as CSV, or use the Trimble API where available.
  2. Import via Bulk upload or POST to the REST API.

Uber Freight

REST API · Webhook

  1. Use Uber Freight partner APIs for booked loads and tracking events.
  2. Forward tracking events to your PulseRoute webhook endpoint.

Real-Time Visibility

project44

REST API · Webhook

  1. In project44, subscribe PulseRoute to shipment tracking events.
  2. Set the callback URL to your PulseRoute webhook endpoint.
  3. Location + ETA updates are matched to shipments by reference.

FourKites

REST API · Webhook

  1. Enable FourKites API/notification push for your loads.
  2. Direct notifications to the PulseRoute webhook URL.

Telematics & ELD

Samsara

REST API · Webhook · File Import

  1. Create a Samsara API token (Settings → API Tokens) with fleet read scope.
  2. Configure Samsara webhooks to POST vehicle/location events to PulseRoute.
  3. Or export vehicle & trip reports as CSV and import via Bulk upload (choose "Samsara").

Geotab

REST API · File Import

  1. Use MyGeotab SDK/API credentials (database, user, password) to read device data.
  2. 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

  1. Use Omnitracs XRS/ES APIs where available, or scheduled report exports.
  2. Drop exports to an SFTP folder or import CSV via Bulk upload.

Motive (KeepTruckin)

REST API · Webhook

  1. Generate a Motive API key and subscribe to vehicle location webhooks.
  2. Route events to your PulseRoute webhook endpoint.

ERP & Order Systems

SAP S/4HANA

REST API · File Import

  1. Expose outbound deliveries via OData or IDoc → flat file.
  2. Create a PulseRoute shipment per delivery via the REST API.

Oracle Fusion / NetSuite

REST API · File Import

  1. Use Oracle Fusion / NetSuite REST services to read fulfillment orders.
  2. Push each order to POST /api/v1/shipments.

Microsoft Dynamics 365

REST API · File Import

  1. Use Dataverse/Dynamics APIs or Power Automate to forward orders.
  2. Call the PulseRoute REST API per shipment.

EDI & Data Standards

ANSI ASC X12 EDI

EDI · File Import · SFTP

  1. Establish a trading-partner relationship (AS2, SFTP, or VAN).
  2. Send 204 load tenders and 214 status messages to your PulseRoute SFTP/inbox.
  3. PulseRoute parses 204/214 into shipments — upload directly via Bulk upload (choose "EDI X12").

UN/EDIFACT

EDI · File Import · SFTP

  1. Exchange IFTMIN (instruction) and IFTSTA (status) via your VAN or SFTP.
  2. Contact us to map your EDIFACT segments to the shipment schema.

Universal Connectors

PulseRoute REST API

REST API

  1. Grab your API key in Settings → API access.
  2. POST shipments to /api/v1/shipments with the X-API-Key header.
  3. GET /api/v1/shipments to pull scored shipments back into your system.

Outbound Webhooks

Webhook

  1. Set your receiving URL and secret in Settings → Outbound webhooks.
  2. Verify the HMAC-SHA256 signature on the X-PulseRoute-Signature header.
  3. Subscribe to specific events or * for all.

CSV / Excel Import

File Import

  1. Download the template in Settings → Bulk upload.
  2. Map your columns (or use a vendor preset) and drop the file.
  3. Rows are geocoded and risk-scored automatically.

SFTP Batch Drop

SFTP · File Import

  1. Contact us to provision an SFTP inbox for your organization.
  2. Schedule your system to drop export files nightly.
  3. 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).

  1. Go to Settings → Enterprise SSO and enable SAML.
  2. Give your IdP admin the SP metadata URL /api/auth/saml/metadata and ACS URL /api/auth/saml/acs.
  3. Paste your IdP SSO URL and metadata XML back into PulseRoute and save.
  4. Users are provisioned on first login with the analyst role; admins can elevate access.