Ordoro Rate API
Rates are cost estimates or quotes provided by a shipping carrier or shipper. These can be retrieved per Order based on the order's package and address details.
Rates are cost estimates or quotes provided by a shipping carrier or shipper. These can be retrieved per Order based on the order's package and address details.
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/ordoro-rate-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: Ordoro API Documentation Address Rate API
description: "# Introduction\n\nThe Ordoro API can be used to access data or integrate to add functionality to Ordoro. The Ordoro API uses the application/json Content-Type. The Ordoro API documentation is in beta. [See our forum](https://forums.ordoro.com) for questions or comments to help us improve the docs or request features.\n#### Note: Any routes with a /v3 designation will not allow for trailing slashes while all other routes and endpoints will require a trailing slash.\n\n# Authentication\n\nThe Ordoro API uses [Basic HTTP Authentication](http://en.wikipedia.org/wiki/Basic_access_authentication). Please create API keys via Settings->Account Settings->API Keys in app and use those for basic auth in your API requests.\n\n# Additional Resources\n\nFor a look at some code examples on how to use the API check out our github repo https://github.com/ordoro/api-examples.\n\n# API Responses\n\nMost of our endpoints return either a list of objects or a single object instance. They share similar response shapes.\n\n## List endpoints\n\nList endpoints respond with the following parameters:\n\n| Name | Type | Description |\n|----------------|--------------------------|-------------|\n| `count` | int | The total number of objects returned by a query ( **not** necessarily the number of objects included in a response). |\n| `limit` | int | The maximum number of objects returned per request. Defaults to 10. Maximum is 100. You can set this as a URL parameter. |\n| `offset` | int | The number of objects being offset in the response. May be altered as a URL Parameter. |\n| `<model name>` | array | An array of objects. The name of the model should be singular. For example, the /v3/order endpoint will have an `order` parameter, as opposed to `orders`.|\n\nHere is an example response for the `/v3/order` list endpoint.\n\n```\n{\n \"count\": 2,\n \"limit\": 10,\n \"offset\" 0,\n \"order\": [\n {\n // an order object\n },\n {\n // another order object\n }\n ]\n}\n```\n\n## Instance endpoints\n\nInstance endpoints return a single instance of a serialized model. `/v3/order/{order_number}` is an example of an instance endpoint.\n\n# Error Handling\n\nError responses contain the following parameters:\n\n| Name | Type | Description |\n|-----------------|------------------|----------------------------------------------------------------------|\n| `error_message` | string | Some human-readable error message. |\n| `param` | string or `null` | The name of the corresponding parameter, or null for general errors. |\n\n# Rate Limiting\n\nAPI requests will be limited to 500 requests per minute. Any requests over this threshold will respond with a 429 status code."
contact: {}
version: '1.0'
servers:
- url: https://api.ordoro.com/
variables: {}
tags:
- name: Rate
description: Rates are cost estimates or quotes provided by a shipping carrier or shipper. These can be retrieved per Order based on the order's package and address details.
paths:
/v3/order/{order_number}/rate/amazon:
post:
summary: Get Amazon SFP Rate for Order
operationId: OrderbyOrderNumberRateAmazon_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_amazon_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
- rate: 16.98
service_type: FEDEX_PTP_PRIORITY_OVERNIGHT
estimated_delivery_date: '2016-06-12T10:30:00Z'
box_type: null
carrier: fedex
- rate: 5.6
service_type: USPS_PTP_PRI
estimated_delivery_date: '2016-06-10T07:00:00Z'
box_type: null
carrier: usps
- rate: 7.28
service_type: UPS_PTP_GND
estimated_delivery_date: '2016-06-13T06:00:00Z'
box_type: null
carrier: ups
schema:
$ref: '#/components/schemas/v1_rate'
/v3/order/{order_number}/rate/australia_post:
post:
summary: Get Australia Post Rate for Order
operationId: OrderbyOrderNumberRateAmazon_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_easypost_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
- rate: 16.98
service_type: TBD
estimated_delivery_date: '2019-11-18T10:30:00Z'
box_type: null
carrier: australia_post
- rate: 5.6
service_type: TBD
estimated_delivery_date: '2019-11-18T07:00:00Z'
box_type: null
carrier: australia_post
- rate: 7.28
service_type: TBD
estimated_delivery_date: '2019-11-18T06:00:00Z'
box_type: null
carrier: australia_post
schema:
$ref: '#/components/schemas/v1_rate'
/v3/order/{order_number}/rate/canada_post:
post:
summary: Get Canada Post Rate for Order
operationId: OrderbyOrderNumberRateCanadaPost_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_canada_post_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
info:
- service_type: DOM.EP
delivery_day: Tuesday
cost: '16.37'
service: Expedited Parcel
package: ''
- service_type: DOM.PC
delivery_day: Thursday
cost: '46.79'
service: Priority
package: ''
- service_type: DOM.RP
delivery_day: Friday
cost: '16.37'
service: Regular Parcel
package: ''
- service_type: DOM.XP
delivery_day: Friday
cost: '29.18'
service: Xpresspost
package: ''
schema:
$ref: '#/components/schemas/v1_rate'
/v3/order/{order_number}/rate/dhl:
post:
summary: Get DHL Express Rate for Order
operationId: OrderbyOrderNumberRateDHL_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_dhl_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
- rate: 16.98
service_type: P
estimated_delivery_date: '2016-06-12T10:30:00Z'
box_type: null
carrier: dhl
- rate: 5.6
service_type: '0'
estimated_delivery_date: '2016-06-10T07:00:00Z'
box_type: null
carrier: dhl
schema:
$ref: '#/components/schemas/v1_rate'
/v3/order/{order_number}/rate/dhl_ecommerce:
post:
summary: Get DHL Ecommerce Rate for Order
operationId: OrderbyOrderNumberRateDHL_Ecommerce_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_dhl_ecommerce_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1_rate'
/v3/order/{order_number}/rate/endicia:
post:
summary: Get USPS Rate for Order via Endicia
operationId: OrderbyOrderNumberRateEndicia_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_endicia_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
status: '0'
info:
- service_type: PriorityExpress
delivery_day: ''
cost: 20.66
service: Priority Mail Express
package: Parcel
- service_type: LibraryMail
delivery_day: ''
cost: 4.03
service: Library Mail
package: Parcel
- service_type: MediaMail
delivery_day: ''
cost: 4.22
service: Media Mail
package: Parcel
schema:
$ref: '#/components/schemas/v1_rate'
/v3/order/{order_number}/rate/fedex:
post:
summary: Get FedEx Rate for Order
operationId: OrderbyOrderNumberRateFedex_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_fedex_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
status: WARNING
info:
- service_type: FIRST_OVERNIGHT
delivery_day: Friday
cost: 58.02
service: First Overnight
package: Your Packaging
- service_type: PRIORITY_OVERNIGHT
delivery_day: Friday
cost: 29.81
service: Priority Overnight
package: Your Packaging
- service_type: STANDARD_OVERNIGHT
delivery_day: Friday
cost: 27.57
service: Standard Overnight
package: Your Packaging
- service_type: FEDEX_2_DAY_AM
delivery_day: Monday
cost: 18.8
service: 2 Day Am
package: Your Packaging
- service_type: FEDEX_2_DAY
delivery_day: Monday
cost: 16.35
service: 2 Day
package: Your Packaging
- service_type: FEDEX_EXPRESS_SAVER
delivery_day: Tuesday
cost: 15.65
service: Express Saver
package: Your Packaging
- service_type: FEDEX_GROUND
delivery_day: Unknown
cost: 8.07
service: Ground
package: Your Packaging
schema:
$ref: '#/components/schemas/v1_rate'
/v3/order/{order_number}/rate/pitney:
post:
summary: Get USPS Rate for Order via Pitney Bowes
operationId: OrderbyOrderNumberRatePitney_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_pitney_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
status: Success
info:
- cost: 5.75
package: PKG
service_type: PM
service: Priority Mail
delivery_day: '2016-04-99'
schema:
$ref: '#/components/schemas/rate'
/v3/order/{order_number}/rate/ups:
post:
summary: Get UPS Rate for Order
operationId: OrderbyOrderNumberRateUPS_POST
tags:
- Rate
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/post_ups_rate'
parameters:
- $ref: '#/components/parameters/orderNumberPath'
responses:
'200':
description: OK
content:
application/json:
example:
status: Success
info:
- service_type: '03'
delivery_day: ''
cost: 9.29
service: Ground
package: ''
- service_type: '12'
delivery_day: ''
cost: 13.3
service: 3-day Select
package: ''
- service_type: '59'
delivery_day: ''
cost: 20.2
service: 2nd Day AM
package: ''
- service_type: '02'
delivery_day: ''
cost: 17.56
service: 2nd Day
package: ''
- service_type: '13'
delivery_day: ''
cost: 30.75
service: Next Day Air Saver
package: ''
- service_type: '14'
delivery_day: ''
cost: 65.41
service: Next Day AM
package: ''
- service_type: '01'
delivery_day: ''
cost: 34.51
service: Next Day
package: ''
schema:
$ref: '#/components/schemas/v1_rate'
components:
schemas:
address:
title: Address Schema
type: object
additionalProperties: false
properties:
id:
type: integer
name:
example: Jimmy McGill
anyOf:
- type: string
- type: 'null'
company:
example: Hamlin, Hamlin & McGill
anyOf:
- type: string
- type: 'null'
street1:
example: 100 Constitution Ave
anyOf:
- type: string
- type: 'null'
street2:
anyOf:
- type: string
- type: 'null'
city:
example: Albuquerque
anyOf:
- type: string
- type: 'null'
state:
example: NM
anyOf:
- type: string
- type: 'null'
zip:
example: '87109'
anyOf:
- type: string
- type: 'null'
country:
example: US
anyOf:
- type: string
- type: 'null'
email:
example: slippin-jimmy@saul-good.man
anyOf:
- type: string
- type: 'null'
phone:
example: 555-867-5309
anyOf:
- type: string
- type: 'null'
fax:
anyOf:
- type: string
- type: 'null'
cart_address_id:
anyOf:
- type: string
- type: 'null'
revision_locked_fields:
type: array
validation:
title: Validation status of an Address
properties:
status:
type: string
enum:
- unvalidated
- validated
- warning
- error
suggested:
type: array
items:
title: Suggested Address
type: object
additionalProperties: false
properties:
is_commercial:
default: false
anyOf:
- type: boolean
- type: 'null'
street1:
type: string
street2:
anyOf:
- type: string
- type: 'null'
city:
type: string
state:
type: string
zip:
type: string
country_code:
anyOf:
- type: string
- type: 'null'
required:
- city
- state
- zip
- street1
additional_text:
anyOf:
- type: string
- type: 'null'
required:
- status
- additional_text
- suggested
additionalProperties: false
anyOf:
- type: object
- type: 'null'
required:
- name
- company
- street1
- street2
- city
- state
- zip
- country
- email
- phone
customs_line:
title: Customs Line Schema
type: object
additionalProperties: false
properties:
country:
type: string
description:
type: string
quantity:
type: integer
value:
description: Dollar value of customs line
format: double
type: number
weight:
description: Weight of customs line in ounces
type: number
harmonization_code:
description: The 6 character international nomenclature for the classification of products
type: string
sku:
type: string
unit_of_measure:
type: string
url:
type: string
harmonization_code_country:
description: The country of harmonization_code
type: string
required:
- description
- quantity
- value
- weight
- country
v1_rate:
title: Rate Response Schema
type: object
properties:
info:
type: array
items:
type: object
properties:
service:
type: string
service_type:
type: string
package:
type: string
delivery_day:
type: string
cost:
type: number
post_easypost_rate:
additionalProperties: true
properties:
box_shape:
type: string
customs_info:
items:
$ref: '#/components/schemas/customs_line'
type: array
delivery_confirmation:
type: string
insurance_type:
type: string
insured_value:
type: number
notify_bill_to:
default: false
type: boolean
notify_ship_to:
default: false
type: boolean
packages:
items:
additionalProperties: false
properties:
additional_handling:
type: boolean
box_shape:
type: string
height:
description: Height in inches
type: number
length:
description: Length in inches
type: number
reference_number:
description: Package level reference, not always necessarily a number
type: string
reference:
description: Package level reference, not always necessarily a number
type: string
weight:
description: weight of the package in ounces
type: number
width:
description: Width in inches
type: number
type: object
maxItems: 200
type: array
reason_for_export:
type: string
reference_number:
description: Package level reference, not always necessarily a number
type: string
ship_date:
type: string
ship_from:
description: The ship_from address is used as the originating address of the rate and label request.
$ref: '#/components/schemas/v1_address'
ship_to:
description: The to address is used as the destination address of a return order rate and label request.
$ref: '#/components/schemas/v1_address'
shipper_id:
type: integer
reference_id:
description: Identifier for a Return Order
type: string
shipping_method:
description: ignored for rate requests
type: string
required:
- shipper_id
- packages
title: Easypost POST Rate Request Schema
type: object
post_dhl_ecommerce_rate:
title: DHL eCommerce Label Request schema
type: object
additionalProperties: false
properties:
shipper_id:
type: integer
packages:
maxItems: 1
type: array
items:
type: object
additionalProperties: false
properties:
weight:
description: Weight in ounces
type: number
length:
description: Length in inches
type: number
width:
description: Width in inches
type: number
height:
description: Height in inches
type: number
declared_value:
type: number
description:
type: string
box_shape:
description: ignored
type: string
required:
- length
- width
- height
- weight
- description
packing_list_id:
description: id for packing list for profile template associated with this label
type: integer
dangerous_goods:
type: string
delivery_confirmation:
enum:
- DELCON
- SIGCON
type: string
customs_info:
items:
$ref: '#/components/schemas/customs_line'
type: array
declared_value:
type: number
insured_value:
type: number
insurance_type:
type: string
enum:
- dhl_ecommerce
notify_bill_to:
type: boolean
default: false
notify_ship_to:
type: boolean
default: false
ship_date:
type: string
format: date-time
receiver_tax_info:
$ref: '#/components/schemas/tax_info'
reference_number:
type: string
ship_from:
description: The ship_from address is used as the originating address of the rate and label request.
$ref: '#/components/schemas/v1_address'
ship_to:
description: The to address is used as the destination address of a return order rate and label request.
$ref: '#/components/schemas/v1_address'
return:
type: boolean
default: false
required:
- shipper_id
rate:
title: Rate Response schema
type: array
items:
type: object
properties:
service_type:
type: string
rate:
type: number
transaction_fee:
type: number
box_type:
anyOf:
- type: string
- type: 'null'
carrier:
type: string
carrier_account_id:
description: for shippo rate response and carrier matching
type: string
estimated_delivery_days:
anyOf:
- type: string
- type: 'null'
estimated_delivery_date:
anyOf:
- type: string
- type: 'null'
display:
description: display name for the carrier rate
type: string
one_rate:
description: indicator that rate is a FedEx One Rate
type: boolean
processing_category:
description: returned from USPS rates for service type processing category distinction
anyOf:
- type: string
- type: 'null'
rate_id:
description: returned by Shippo for rate selection along with shipment_id
type: string
rate_indicator:
description: returned from USPS for additional rate distinction
type: string
saturday_delivery:
type: boolean
shipment_id:
type: string
service_token:
type: string
zone:
anyOf:
- type: string
- type: 'null'
required:
- service_type
- box_type
- carrier
- rate
additionalProperties: false
post_dhl_rate:
title: DHL Rate POST Request schema
type: object
additionalProperties: false
properties:
shipper_id:
type: integer
packages:
maxItems: 1
type: array
items:
type: object
additionalProperties: false
properties:
weight:
description: Weight in ounces
type: number
length:
description: Length in inches
type: number
width:
description: Width in inches
type: number
height:
description: Height in inches
type: number
declared_value:
description: Package Level Declared Value for Dutiable International Shipments
type: number
box_shape:
description: optional box type [FLY=Flyer/Smalls - pieces that are too small, thin or light to be sorted on a standard conveyor, or for which it makes sense to group pieces into larger units for sort purposes. COY=Parcels/Conveyables - pieces that can be handled onto a system, less than 31.5 kg and up to 60*60*120cm. NCY=Non-conveyables - Pieces that cannot on their own be sorted on standard conveyor. PAL=Pallets - large, irregular or heavy pieces, Palletized with weight upto 1000 KG. DBL=Double Pallets - large, irregular or heavy pieces, Palletized with weight upto 1000 KG. BOX=Parcels that are conveyable have the shape of a box. Up to 70kg.]
type: string
enum:
- FLY
- COY
- NCY
- PAL
- DBL
- BOX
required:
- length
- width
- height
- weight
declared_value:
description: Shipment Level Declared Value for Dutiable International Shipments
type: number
insured_value:
type: number
insurance_type:
type: string
enum:
- dhl
ship_date:
type: string
format: date-time
reference_number:
type: string
pickup:
description: pickup date time to schedule for the carrier
type: string
format: date-time
signature_service:
description: signature service option. Signature services are included in international shipments. Use `SX` for no signature required
type: string
enum:
- SX
nonstandard_day:
description: options are [AA - Saturday Delivery, AB - Saturday Pickup, AC - Holiday Delivery, AD - Holiday Pickup, AG - Domestic Saturday Delivery]
type: string
enum:
- AA
- AB
- AC
- AD
- AG
nonstandard_contents:
description: options are [HB - Lithium Ion PI965 Section II, HC - Dry Ice UN1845, HD - Lithium Ion PI965-966 Section II, HE - Dangerous Goods, HG - Perishable Cargo, HH - Excepted Quantity, HI - Spill Cleaning, HK - Consumer Commodities, HL - Limited Quantities ADR, HM - Lithium Metal PI969 Section II, HN - ADR Load Exemption, HV - Lithium Ion PI967-Section II, HW - Lithium Metal PI970-Section II, HY - Biological UN3373]
type: string
enum:
- HB
- HC
- HD
- HE
- HG
- HH
- HI
- HK
- HL
- HM
- HN
- HV
- HW
- HY
is_dutiable:
type: boolean
default: true
ship_from:
description: The ship_from address is used as the originating address of the rate and label request.
$ref: '#/components/schemas/v1_address'
ship_to:
description: The to address is used as the destination address of a return order rate and label request.
$ref: '#/components/schemas/v1_address'
reference_id:
description: Identifier for a Return Order
type: string
return:
description: For orders, determines whether the originating and destination addresses will be swapped for a return label request
type: boolean
default: false
warehouse_id:
description: 'DEPRECATED: ignored. Previously used for updating a warehouse for the ship_from address on an order.'
type: integer
required:
- shipper_id
post_pitney_rate:
title: Pitney Rate POST Request Schema
additionalProperties: false
properties:
delivery_confirmation:
enum:
- DelCon
- Sig
- ADSIG
- ADSIGRD
- SigRD
type: string
hazmat_type:
description: USPS hazmat input type options
type: string
hazmat_electronics:
description: ' USPS hazmat option for electronics'
type: boolean
insurance_type:
enum:
- discounted_insurance
type: string
insured_value:
default: 0
type: number
mailing_zip_code:
description: mailing post office zip code if different than from_address zip code, ignored in rate request
type: string
non_delivery:
enum:
- return
- abandon
- redirect
type: string
packages:
description: This should always be an array of 1, as USPS does not allow for multiple package shipments at this time
maxItems: 1
items:
additionalProperties: false
properties:
box_shape:
type: string
height:
description: Height in inches
type: number
length:
description: Length in inches
type: number
weight:
description: Weight in ounces
type: number
width:
description: Width in inches
type: number
required:
- box_shape
- weight
type: object
type: array
parcel_characteristics:
description: For nonstandard packages
type: string
pitney_rate_type:
type: string
reference_number:
type: string
return:
description: For orders, determines whether the originating and destination addresses will be swapped for a return label request
type: boolean
ship_date:
format: date-time
type: string
ship_from:
description: The ship_from address is used as the originating address of the rate and label request
# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ordoro/refs/heads/main/openapi/ordoro-rate-api-openapi.yml