OneRail Routes API
The Routes API from OneRail — 1 operation(s) for routes.
The Routes API from OneRail — 1 operation(s) for routes.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/onerail-routes-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Onerail Routes API
version: 0.0.3
license:
name: UNLICENSED
description: 'Operations tagged Routes across 2 of this provider''s published API definitions: onerail-delivery-api-openapi.yml, onerail-routes-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://onerail-delivery-api-prod.azurewebsites.net
description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- ApiKey: []
AppId: []
tags:
- name: Routes
paths:
/v1/routes:
post:
x-exegesis-controller: Routes
summary: Create new orders within one or more routes.
operationId: createRoutes
tags:
- Routes
requestBody:
description: Multiple orders with route options.
content:
application/json:
schema:
type: object
required:
- routes
properties:
routes:
type: array
items:
type: object
required:
- orders
properties:
id:
type: string
minLength: 5
maxLength: 255
description: Custom route id - Will create default if none is given.
pattern: ^[a-zA-Z0-9:_-]+$
dispatchToOnerail:
type: boolean
default: false
description: Use if route needs to be dispatched to OneRail.
skipOptimizer:
type: boolean
default: false
description: Set to true to skip route optimization step and keep delivery sequence.
overflowToOnerail:
type: boolean
default: false
description: Set to true to allow the overflow of routed deliveries to external.
orders:
type: array
items:
type: object
required:
- orderId
- deliveries
properties:
orderId:
description: Unique order id identifying this order
type: string
netAmountCent:
type: number
description: Net Amount, in cents
default: 0
barCode:
type:
- string
- 'null'
state:
type: string
enum:
- DRAFT
- READY_TO_DISPATCH
status:
type: string
description: Order's status. Defaults to PICKING
enum:
- PICKING
- PACKING
- SHIPPING
default: PICKING
deliveries:
description: List of deliveries for the order
type: array
items:
type: object
description: Delivery
required:
- to
- deliveryType
- deliverySpeedMin
- state
properties:
from:
description: Pick up location. Pass in the id, or address info, or store number to look up the location
type: object
properties:
id:
type:
- string
- 'null'
format: uuid
name:
type:
- string
- 'null'
address:
type:
- object
- 'null'
properties:
address1:
type: string
address2:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
country:
type: string
default: US
description: Two charter uppercase country code by ISO-3166
latitude:
type:
- number
- 'null'
format: float
longitude:
type:
- number
- 'null'
format: float
storeNumber:
type:
- string
- 'null'
instructions:
type:
- string
- 'null'
contactName:
type:
- string
- 'null'
phoneNumber:
type:
- string
- 'null'
contactEmailAddress:
type:
- string
- 'null'
windows:
type:
- object
- 'null'
properties:
opensOn:
type: string
description: datetime in ISO format
closesOn:
type: string
description: datetime in ISO format
appointment:
type:
- object
- 'null'
properties:
durationMins:
type: number
description: minutes as an integer
description:
type: string
capabilityTags:
type: array
items:
oneOf:
- type: string
format: uuid
- type: object
physicalLocation:
type:
- object
- 'null'
properties:
altLocation:
type: object
properties:
latitude:
type: number
longitude:
type: number
to:
description: Drop off location. Pass in complete location info. Lat/Long are optional and will be populated if not passed.
type: object
properties:
id:
type:
- string
- 'null'
format: uuid
name:
type:
- string
- 'null'
address:
type: object
properties:
address1:
type: string
address2:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
country:
type: string
default: US
description: Two charter uppercase country code by ISO-3166
latitude:
type:
- number
- 'null'
format: float
longitude:
type:
- number
- 'null'
format: float
storeNumber:
type:
- string
- 'null'
instructions:
type:
- string
- 'null'
contactName:
type:
- string
- 'null'
phoneNumber:
type:
- string
- 'null'
contactEmailAddress:
type:
- string
- 'null'
windows:
type:
- object
- 'null'
properties:
opensOn:
type: string
description: datetime in ISO format
closesOn:
type: string
description: datetime in ISO format
appointment:
type:
- object
- 'null'
properties:
durationMins:
type: number
description: minutes as an integer
description:
type: string
capabilityTags:
type: array
items:
oneOf:
- type: string
format: uuid
- type: object
physicalLocation:
type:
- object
- 'null'
properties:
altLocation:
type: object
properties:
latitude:
type: number
longitude:
type: number
labelType:
type: string
description: The type of label to print on the delivery
requestLabel:
type: boolean
default: false
description: Indicates if a label should be requested for this delivery
deliveryType:
description: Select if delivery is for a BUSINESS or RESIDENTIAL
type: string
enum:
- BUSINESS
- RESIDENTIAL
default: RESIDENTIAL
deliveryOptions:
description: Optional list of delivery options
type: array
items:
type: string
uniqueItems: true
example:
- REQUIRE_SIGNATURE
- REQUIRE_OVER_21
- HIPAA
- REQUEST_PARCEL_PICKUP
- REQUEST_PROOF_OF_PICKUP
notes:
type:
- string
- 'null'
description: Optional delivery notes
isReturn:
type: boolean
default: false
description: Is it a return delivery?
orderItems:
description: List of items for the delivery
type: array
items:
type: object
required:
- quantity
properties:
description:
type:
- string
- 'null'
identifier:
type:
- string
- 'null'
priceCent:
description: Price in cents
type:
- number
- 'null'
lengthIn:
description: item length in inches. Smallest value is an inch. Float values are rounded up
type:
- number
- 'null'
widthIn:
description: item width in inches. Smallest value is an inch. Float values are rounded up
type:
- number
- 'null'
heightIn:
description: item height in inches. Smallest value is an inch. Float values are rounded up
type:
- number
- 'null'
weightLbs:
description: Item weight in pounds. Float values are rounded up
type:
- number
- 'null'
quantity:
description: How many of this item
type: integer
default: 1
sortOrdinal:
type:
- integer
- 'null'
nmfc:
type:
- string
- 'null'
description: The national motor freight code for this delivery. This is a convenience function to set the same NMFC code for all the containers or order items in this delivery.
example: 82790-11
freightClass:
type:
- string
- 'null'
enum:
- '50'
- '55'
- '60'
- '65'
- '70'
- '77.5'
- '85'
- '92.5'
- '100'
- '110'
- '125'
- '150'
- '175'
- '200'
- '250'
- '300'
- '400'
- '500'
- null
description: The freight class for this delivery. This is a convenience function to set the same freight class for all the containers or order items in this delivery.
hazardousMaterialDetails:
type:
- object
- 'null'
properties:
identificationNumber:
type:
- string
- 'null'
description: Number to identify hazard as designated by shipper (example UN or NP numbers)
properShippingName:
description: The proper shipping name identified by the Shipping Table as desingnated by the shipper
type:
- string
- 'null'
packagingGroup:
type:
- string
- 'null'
description: designation for the group of packages provided by the shipper
packagingType:
type:
- string
- 'null'
description: The type of package holding the hazardous material as designated by the shipper
hazardClass:
type:
- string
- 'null'
description: Value from the hazard classification system
hazardSubClass:
type:
- string
- 'null'
description: Value from the hazard classification system for the sub class
technicalName:
type:
- string
- 'null'
description: Technical description given by the shipper for the hazardous item
dotLabeling:
type:
- string
- 'null'
description: Type of label to be placed on the items
fedExPackagingType:
type:
- string
- 'null'
description: Type of packagying type to be applied for fedex
doNotRotate:
type: boolean
default: false
emergencyContact:
type:
- object
- 'null'
properties:
contactName:
type:
- string
- 'null'
description: Emergency contact name
contactTitle:
type:
- string
- 'null'
description: Emergency contact title
phoneNumber:
type:
- string
- 'null'
description: Emergency contact phone number
email:
type:
- string
- 'null'
description: Emergency contact email
capabilityTags:
type: array
items:
type: string
format: uuid
description: List of capability IDs
shipperContractSlaId:
type:
- string
- 'null'
format: uuid
description: Shipper Contract SLA ID
deliverySpeedMin:
type: number
description: Delivery Speed, in minutes
state:
type: string
description: State of the delivery order. Defaults to READY_TO_DISPATCH
enum:
- DRAFT
- READY_TO_DISPATCH
default: READY_TO_DISPATCH
shipperExtraData:
type:
- object
- 'null'
description: JSON blob that the customer can use to store additional info they may need.
serviceLevel:
type:
- string
- 'null'
description: Service Level name of sla to match this delivery
shipmentId:
type:
- string
- 'null'
description: Shipper's shipmentId to associate with the delivery
contactPreference:
type:
- string
- 'null'
enum:
- EMAIL
- SMS
- BOTH
- null
default: null
containers:
type: array
items:
type: object
oneOf:
- type: object
required:
- name
- totalWeightLbs
- items
properties:
name:
type: string
totalWeightLbs:
type: number
description: Weight of container and all items inside it
shipperContainerId:
type: string
shipperExtraData:
type: object
description: Any additional shipping data in JSON format
items:
type: array
items:
$ref: '#/paths/~1v1~1routes/post/requestBody/content/application~1json/schema/properties/routes/items/properties/orders/items/properties/deliveries/items/properties/orderItems/items'
subContainerQuantity:
type:
- number
- 'null'
uniqueSubLabels:
type:
- boolean
- 'null'
nmfc:
type:
- string
- 'null'
description: The national motor freight code for this delivery. This is a convenience function to set the same NMFC code for all the containers or order items in this delivery.
example: 82790-11
hazardousMaterialDetails:
type:
- object
- 'null'
properties:
signatoryContactField:
type:
- string
- 'null'
description: Person responsible for hazmat shipment compliance
emergencyContactNumber:
type:
- string
- 'null'
description: Phone number of emergency contact for hazmat shipment
signatoryContactTitle:
type:
- string
- 'null'
description: Professional title of person responsible for the hazmat shipment compliance
signatoryContactPlace:
# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onerail/refs/heads/main/openapi/onerail-routes-api-openapi.yml