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.
openapi: 3.0.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
post_fedex_rate:
title: Fedex Rate POST Request Schema
type: object
additionalProperties: false
properties:
alcohol_shipment_license:
type: string
b13a_filing_option:
description: Specify the filing option being exercised. Required for non-document shipments originating in Canada destinated for any country other than Canada, the United States, Puerto Rico, or the U.S. Virgin Islands
enum:
- NOT_REQUIRED
- MANUALLY_ATTACHED
- FILED_ELECTRONICALLY
- SUMMARY_REPORTING
- FEDEX_TO_STAMP
type: string
declared_value:
description: Package level Insured Value for Fedex
type: number
packages:
type: array
maxItems: 99
items:
additionalProperties: false
type: object
properties:
box_shape:
type: string
declared_value:
description: Package level Insured Value for Fedex
type: number
description:
type: string
dry_ice_weight:
description: Weight in ounces.
type: number
default: 0
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
department:
description: Department number. Displayed as DEPT field on label
type: string
maxLength: 40
invoice:
description: Invoice number. Displayed as INV field on label
type: string
maxLength: 40
purchase_order:
description: Purchase order number. Displayed as PO field on label
type: string
maxLength: 40
sub_package_type:
description: 'if you are using your own packaging for the shipment. Example: TUBE, CARTON, CONTAINER. etc'
type: string
weight:
description: Weight in ounces.
type: number
width:
description: Width in inches
type: number
required:
- box_shape
customs_info:
items:
$ref: '#/components/schemas/customs_line'
type: array
delivery_confirmation:
default: SERVICE_DEFAULT
enum:
- NO_SIGNATURE_REQUIRED
- INDIRECT
- DIRECT
- ADULT
- SERVICE_DEFAULT
type: string
delivery_instructions:
type: string
dry_ice_weight:
description: Weight in ounces.
type: number
default: 0
duties_payment_type:
type: string
duties_payment_account:
type: string
export_compliance_statement:
description: For US export shipments requiring an EEI, enter the ITN number received from AES when you filed your shipment or the FTR (Foreign Trade Regulations) exemption number.The proper format for an ITN number is AES XYYYYMMDDNNNNNN where YYYYMMDD is date and NNNNNN are numbers generated by the AES.
type: string
importer_of_record:
type: object
additionalProperties: false
properties:
address:
$ref: '#/components/schemas/address'
tin:
type: object
additionalProperties: false
properties:
tin_type:
type: string
enum:
- BUSINESS_NATIONAL
- BUSINESS_STATE
- BUSINESS_UNION
- PERSONAL_NATIONAL
- PERSONAL_STATE
number:
type: string
maxLength: 15
required:
- tin_type
- number
account_number:
type: string
maxLength: 12
required:
- address
- tin
insurance_type:
enum:
- discounted_insurance
- fedex
type: string
insured_value:
default: 0
type: number
one_rate:
type: boolean
payment_account:
type: string
payment_type:
type: string
pharmacy_delivery:
default: false
type: boolean
priority_alert:
type: string
enum:
- PRIORITY_ALERT
- PRIORITY_ALERT_PLUS
reason_for_export:
enum:
- SOLD
- NOT_SOLD
- PERSONAL_EFFECTS
- GIFT
- REPAIR_AND_RETURN
- SAMPLE
type: string
reason_for_export_explanation:
type: string
receiver_tax_info:
$ref: '#/components/schemas/tax_info'
recipient_address_is_residential:
type: boolean
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
saturday_delivery:
default: false
type: boolean
sender_tax_info:
$ref: '#/components/schemas/tax_info'
ship_date:
format: date-time
type: string
shipper_id:
type: integer
smart_post_ancillary_endorsement:
enum:
- ADDRESS_CORRECTION
- CARRIER_LEAVE_IF_NO_RESPONSE
- CHANGE_SERVICE
- FORWARDING_SERVICE
- RETURN_SERVICE
description: Required for Presorted Standard but not for returns or parcel select. They are not all usable for all ancillary endorsements.
type: string
smart_post_hub:
type: string
smart_post_indicia:
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'
reference_id:
description: Identifier for a Return Order
type: string
dangerous_goods_option:
type: string
dangerous_goods_regulation_type:
type: string
etd_service:
type: boolean
hold_at_location:
type: boolean
hold_at_location_id:
type: string
certificate_of_origin:
type: boolean
use_metric_units:
type: boolean
required:
- shipper_id
tax_info:
title: Tax Info Schema
type: object
additionalProperties: false
properties:
tax_id_number:
type: string
tax_id_type:
type: string
tax_issuer_country:
type: string
required:
- tax_id_number
- tax_id_type
post_ups_rate:
title: UPS Rate POST Request Schema
type: object
additionalProperties: false
properties:
additional_handling:
type: boolean
certificate_origin:
type: boolean
customs_info:
type: array
items:
$ref: '#/components/schemas/customs_line'
delivery_confirmation:
description: '[''0'' - None, ''1'' - Confirm, ''2'' - Signature, ''3'' - Adult Signature]'
type: string
direct_delivery:
type: boolean
dry_ice_regulation_set:
description: indicates dry ice shipment option [CFR = For HazMat regulated by US Dept of Transportation within the U.S. or ground shipments to Canada, IATA = For Worldwide Air movement]
type: string
insurance_type:
type: string
insured_value:
type: number
box_shape:
description: 'DEPRECATED: USE PACKAGES. ups box options [01 - UPS Letter, 02 - Customer Supplied Package, 03 - Tube, 04 - PAK, 2a - Small Express Box, 2b - Medium Express Box, 2c - Large Express Box, 24 - UPS 25KG Box, 25 - UPS 10KG Box]'
type: string
declared_value:
description: 'DEPRECATED: USE PACKAGES. Package level declared value for UPS'
type: number
description:
description: 'DEPRECATED: USE PACKAGES. Package level description, required for return label creation'
type: string
dry_ice_weight:
description: 'DEPRECATED: USE PACKAGES. Dry ice weight in ounces, required for dry ice shipments'
type: number
purchase_order_number:
description: Customs level purchase order number reference
type: string
reference_number:
description: Package level reference, not always necessarily a number
type: string
weight:
description: 'DEPRECATED: USE PACKAGES. Weight in ounces'
type: number
length:
description: 'DEPRECATED: USE PACKAGES. Length in inches'
type: number
width:
description: 'DEPRECATED: USE PACKAGES. Width in inches'
type: number
height:
description: 'DEPRECATED: USE PACKAGES. Height in inches'
type: number
packages:
type: array
maxItems: 200
items:
additionalProperties: false
type: object
properties:
additional_handling:
type: boolean
box_shape:
description: ups box options [01 - UPS Letter, 02 - Customer Supplied Package, 03 - Tube, 04 - PAK, 2a - Small Express Box, 2b - Medium Express Box, 2c - Large Express Box, 24 - UPS 25KG Box, 25 - UPS 10KG Box]
type: string
declared_value:
description: Package level declared value for UPS
type: number
description:
description: Package level description, required for return shipments
type: string
dry_ice_regulation_set:
description: indicates dry ice shipment option [CFR = For HazMat regulated by US Dept of Transportation within the U.S. or ground shipments to Canada, IATA = For Worldwide Air movement]
type: string
dry_ice_weight:
description: Dry ice weight in ounces, required for dry ice shipments
type: number
hazmat_items:
type: array
items:
$ref: '#/components/schemas/hazmat_item'
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
weight:
description: weight of the package in ounces
type: number
width:
description: Width in inches
type: number
required:
- box_shape
package_bill_type:
description: 'required for shoptimeintransit rates: document, non-document, wwef pallet, or domestic pallet. describes the contents of the package.'
type: string
enum:
- '02'
- '03'
- '04'
- '07'
payment_type:
type: string
payment_account:
type: string
payment_zip:
type: string
payment_country:
type: string
duties_payment_type:
type: string
duties_payment_account:
type: string
duties_payment_zip:
type: string
duties_payment_country:
type: string
reason_for_export:
type: string
receiver_tax_info:
$ref: '#/components/schemas/tax_info'
recipient_address_is_residential:
type: boolean
return:
description: For orders, determines whether the originating and destination addresses will be swapped for a return label request
type: boolean
saturday_delivery:
type: boolean
sender_tax_info:
$ref: '#/components/schemas/tax_info'
shipper_id:
type: integer
shipping_method:
type: string
shipper_release:
type: boolean
shipper_return_to_address:
$ref: '#/components/schemas/v1_address'
usps_endorsement:
description: Required for UPS Mail Innovations shipments
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'
reference_id:
description: Identifier for a Return Order
type: string
warehouse_id:
description: Currently ignored. Previously used for updating a warehouse for the ship_from address on an order.
type: integer
cost_center:
description: The Cost Center code for UPS Mail Innovations shipments
type: string
required:
- shipper_id
post_amazon_rate:
title: Amazon Rate POST Request schema
type: object
additionalProperties: false
properties:
shipper_id:
type: integer
delivery_confirmation:
type: string
enum:
- DeliveryConfirmationWithAdultSignature
- DeliveryConfirmationWithoutSignature
- DeliveryConfirmationWithSignature
- NoPreference
- NoTracking
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
box_shape:
type: string
packages:
type: array
maxItems: 1
items:
type: object
additionalProperties: false
propertie
# --- 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