How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OneRail Delivery API

The OmniPoint Delivery API lets authorized shippers request, price, update, and track deliveries through the OneRail carrier network. It covers rate shopping across qualified carriers, order and delivery creation (order-first and delivery-first), progressive partial updates on draft orders, availability checks, delivery pre-validation, rescheduling, cancellation, shipping-label and manifest generation, scan data, multi-stop route creation with an optional optimizer bypass, and visibility-only tracking for shipments fulfilled outside the OneRail booking process.

This API exposes 62 operations across 60 paths, and defines 33 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against a single base URL, /.

62 operations 60 paths 33 schemas 3 DELETE21 GET32 POST6 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://onerail-delivery-api-prod.azurewebsites.net
Authentication
API Key, API Key, API Key, HTTP Bearer, OAuth 2.0
Resource Areas
1

Authentication & Security 5

OneRail Delivery API declares 5 security schemes for authenticating requests. An API key is passed in the header as X-ONERAIL-API-KEY (ApiKey). An API key is passed in the header as X-ONERAIL-APP-ID (AppId). An API key is passed in the header as X-ONERAIL-API-KEY-AND-APP-ID (ApiKeyAndAppId). It accepts HTTP bearer tokens (bearer). It supports OAuth 2.0 (OAuth) using the authorizationCode flow.

  • bearer — Standard JWT bearer token used for authenticated OmniPoint users and internal service-to-service calls. Clients send Authorization: Bearer and the token is val…
  • OAuth — OAuth 2.0 access token validated by the Operations service (e.g. Okta-backed integrations). Clients obtain tokens from their own IdP outside of this API and ca…

Paths & Operations 62

Across 60 paths, the API surfaces 62 operations — 3 DELETE, 21 GET, 32 POST, 6 PUT. Each is listed below with its method, path, parameters, and response codes.

Delivery 62
POST
/delivery/create
Creates a new delivery
createDelivery body → 200422default
POST
/delivery/get-rates
Fetches rates of delivery through OneRail network.
getDeliveryRates body → 200400
POST
/delivery/check-availability
Check delivery availability using progressive input.
checkDeliveryAvailability body → 200400
GET
/delivery/{id}/details
Returns delivery details
getDetails 2 params → 200404default
GET
/delivery/get-historical-rates
Get historical rates for a delivery
getHistoricalDeliveryRates 2 params → 200400404
POST
/delivery/{deliveryId}/reschedule
Reschedule delivery
rescheduleDelivery 1 param body → 200400
POST
/delivery/{id}/cancel
Cancel a delivery
cancelDelivery 1 param body → 200404default
POST
/delivery/{id}/shipment-id
Update the shipmentId on a delivery
updateShipmentId 1 param body → 200400
POST
/delivery/pre-validation
Validate delivery before creation
preValidateDelivery body → 200422default
POST
/delivery/pre-validation-multiple
Validate delivery before creation
preValidateDeliverySlas body → 200422default
POST
/delivery/{deliveryId}/scanData
Create scan data records for containers
createScanData 1 param body → 200404default
DELETE
/v1/organization/{organizationId}/deliveryfile/{deliveryFileId}
Delete delivery file by ID
softDelete 3 params → 200default
GET
/v1/deliveries
Get all Deliveries in the system (OneRail)
getAllDeliveries 12 params → 200default
POST
/v1/delivery/email
Creates a delivery order from parsed Email
createFromEmail body → 200default
GET
/v1/delivery/{deliveryId}/label
Fetch delivery labels for all containers
getAllDeliveryLabels 1 param → 200404default
GET
/v1/delivery/{deliveryId}/label/{containerId}
Fetch delivery label for specified container
getDeliveryLabel 2 params → 200404default
POST
/v1/delivery/api
Creates a delivery order from API call
createFromApi 1 param body → 200default
GET
/v1/delivery/{deliveryId}
Get a delivery
getDelivery 1 param → 200404default
DELETE
/v1/delivery/{deliveryId}
Deletes a DRAFT delivery (OneRail)
deleteDelivery 1 param → 200default
GET
/v1/delivery/{deliveryId}/api
Get a delivery (API)
getDeliveryApi 1 param → 200404default
GET
/v1/delivery/select/{deliveryId}
Get a delivery
getSelectively 3 params → 200404default
GET
/v1/delivery/{deliveryId}/rate-matching/api
Get delivery data for rate matching
getDeliveryForRateMatchingApi 1 param → 200404default
POST
/v1/delivery/{deliveryId}/dispatch
Dispatches a DRAFT delivery order
dispatch 1 param body → 200404default
POST
/v1/delivery/{deliveryId}/dispatch/api
Dispatches a DRAFT delivery order with api
dispatchWithApiKey 1 param body → 200404default
POST
/v1/delivery/bulk-route-or-dispatch/{organizationId}/{serviceLevelId}
Route or dispatch all possible deliveries for a given organization
bulkRouteOrDispatch 2 params body → 200default
POST
/v1/delivery/{deliveryId}/revoke
Revokes a delivery (OneRail)
revoke 1 param body → 200404default
POST
/v1/delivery/{deliveryId}/permanently-failed
Permanently fails a delivery (OneRail)
permanentlyFailed 1 param body → 200404default
POST
/v1/delivery/{deliveryId}/cancel
Permanently fails a delivery from with api
cancelWithApiKey 1 param body → 200404default
GET
/v1/delivery/{deliveryId}/oono-lp-contract-slas
Get out of network LP contract SLAs for the shipper
getOONOLpContractSlas 1 param → 200404default
POST
/v1/delivery/{deliveryId}/recalculate-rates
Re-calculates shipper cost rates for this delivery
recalculateShipperRate 1 param body → 200404default
GET
/v1/delivery/{deliveryId}/driver-location
Attempts to fetch last known driver location
getDriverLocation 1 param → 200default
GET
/v1/delivery/{deliveryId}/costs
Get the delivery's costs
getCosts 1 param → 200default
PUT
/v1/delivery/{deliveryId}/costs
Update the delivery's costs
updateCosts 1 param body → 200default
DELETE
/v1/delivery/{deliveryId}/costs/{costId}
Soft delete a Cost entry
deleteCosts 2 params → 202default
GET
/v1/cost/adjustment-reasons
Get the delivery's costs
getAllAdjusmentReasons → 200default
GET
/v1/delivery/{deliveryId}/deliveryfiles
Get the delivery's deliveryFiles
getAllDeliveryFiles 2 params → 200401403404default
POST
/v1/delivery/{deliveryId}/deliveryfile/upload
Upload a file for a delivery
uploadDeliveryFile 1 param body → 200default
POST
/v1/delivery/bulk-deliveries-delete
Bulk delete deliveries and associated data.
bulkDeleteDeliveries body → 200default
GET
/v1/delivery/{deliveryId}/risky
Get information for risky delivery
getInfoForRiskyDelivery 1 param → 200404512default
POST
/v1/bulk-dispatch
Bulk Dispatch Deliveries
bulkDispatch body → 200default
POST
/v1/delivery/{deliveryId}/schedule-api
Delivery schedule dispatch with dropoff window (API)
scheduleDispatchFromApi 1 param body → 200404default
POST
/v1/delivery/{deliveryId}/reschedule-api
Delivery reschedule or cancel dispatch (API)
rescheduleDispatchFromApi 1 param body → 200404default
POST
/v1/delivery/{deliveryId}/reschedule
Delivery reschedule or cancel dispatch
rescheduleDispatch 1 param body → 200404default
PUT
/v1/delivery/{deliveryId}/update-risk
update delivery risk
updateDeliveryRisk 1 param body → 200default
PUT
/v1/delivery/{deliveryId}/emergency-contact
Add or update an emergency contact information to a delivery.
updateDeliveryEmergencyContact 1 param body → 200default
POST
/v1/deliveries/delete
Bulk delete deliveries as a background process
deleteDeliveries body → 202default
POST
/v1/deliveries/risk
Bulk calculate and return risk values
riskDeliveries body → 200default
POST
/v1/route/risk
Bulk calculate and return risk values
risk body → 200default
GET
/v1/delivery/options
Get available delivery options
getOptions → 200default
GET
/v1/delivery/{deliveryId}/explain-lp-listdeprecated
explanation why lp got picked for delivery
explainLPList 1 param → 200404default
GET
/v1/delivery/accessorial-quantity-exceptions
Get delivery accessorial quantity exemptions
getAccessorialExceptions → 200default
GET
/v1/delivery/shippers
Get list of shippers for filtering
getDeliveryShippers → 200default
GET
/v2/delivery/shippers
Get list of shippers for filtering
getShippers → 200default
PUT
/v1/delivery/{deliveryId}/state
Update the state of a delivery if it has no attempts
updateState 1 param body → 200default
PUT
/v1/delivery/{deliveryId}/state/api
Update the state of a delivery if it has no attempts (API)
updateStateApi 1 param body → 200400default
POST
/v1/delivery/{deliveryId}/shipment-id-api
Update the shipment ID of a delivery
updateShipmentIdFromApi 1 param body → 200default
PUT
/v1/delivery/{deliveryId}/update-delivery-costs
Update the delivery cost
updateDeliveryCosts 1 param body → 200404default
GET
/v1/delivery/{deliveryId}/containers
Get the delivery containers structured in either nested or non-nested format
getDeliveryContainers 1 param → 200404default
POST
/v1/delivery/shipping-labels
Creates / Regenerates Shipping Labels for delivery
createDeliveryShippingLabels body → 200default
POST
/v1/order/{orderId}/consolidate
Consolidate one or more deliveries to one delivery
consolidateDeliveries 1 param body → 200default
POST
/v1/cancel-expired-deliveries
Accepts a filter to determine which deliveries to revoke the routes for and…
cancelExpiredDeliveries body → 200404default
POST
/v1/item-identifiers/bulk
Bulk add item identifiers
bulkAddItemIdentifiersFromApi body → 200

Schemas 33

The contract defines 33 schemas that model the data the API accepts and returns. The most detailed are DeliveryAvailabilityRequest (27 properties), Delivery (27 properties), AvailabilityLocationInfo (18 properties), LocationInfo (18 properties). Each schema is shown below with its type and property counts.

DeliveryCreated
object
12 properties
DeliveryData
object
13 properties
DeliveryAvailabilityRequest
object
27 properties 2 required
CapabilityTags
array
CustomContainerBase
object
15 properties 5 required
Delivery
object
27 properties 4 required
DeliveryList
ChildPredefinedContainer
object
1 property
LocationInfo
object
18 properties 4 required
DeliveryType
string
ScanData
object
2 properties 1 required
GrandChildCustomContainer
object
1 property
AvailabilityLocationInfo
object
Location data for availability check. Provide any combination of address fields and/or a geopoint.
18 properties
HazardousMaterialOrderItemDetails
object
8 properties
Containers
array
HazardousMaterialContainerDetails
object
8 properties
DeliveryAvailabilityResponse
object
3 properties
CustomContainer
object
1 property
PredefinedContainer
object
1 property
CustomerData
object
4 properties 3 required
PredefinedContainerBase
object
11 properties 3 required
HistoricalRateInfo
object
15 properties
EmergencyContact
object
4 properties
Error
object
4 properties 1 required
ContainerOrderItem
object
14 properties 6 required
GrandChildPredefinedContainer
object
1 property
OrderData
object
10 properties 1 required
DeliveryOrderItemCreated
object
14 properties
DeliveryOptions
string
RatesResponse
object
5 properties
OriginLocation
object
13 properties 4 required
OrderItem
object
14 properties 6 required
ChildCustomContainer
object
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

onerail-delivery-api-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of OneRail Delivery API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.