Skip to content

Get rates for a package

POST
/shipments/quote
curl --request POST \
--url https://shipjay.com/api/v1/shipments/quote \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "to": { "name": "example", "company": "example", "street1": "example", "street2": "example", "city": "example", "state": "example", "zip": "example", "country": "US", "phone": "example", "email": "[email protected]" }, "from_address_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "parcel": { "packaging_type": "box", "length_in": 1, "width_in": 1, "height_in": 1, "weight_oz": 1 }, "options": { "insurance_cents": 1, "signature": false, "media_mail": false, "irregular": false, "hazmat": "LIMITED_QUANTITY", "is_return": false, "reference1": "example", "reference2": "example", "label_size": "4x6", "label_format": "PDF" }, "customs": { "contents_type": "merchandise", "signer": "example", "items": [ { "description": "example", "hs_tariff_number": "example", "origin_country": "US", "quantity": 1, "value_cents": 1, "weight_oz": 1 } ], "sender_tax_id": { "id": "example", "type": "IOSS" }, "recipient_tax_id": { "id": "example", "type": "IOSS" } }, "email_recipients": [], "order_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "batch_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "verify_address": true }'

Rates every enabled carrier and returns the prices the organization pays. The shipment is saved as rated and can be bought with POST /shipments/{id}/buy for ten minutes. Shipping rules are applied: rates a rule removes are not returned.

Media typeapplication/json
object
to
required
object
name
required
string
>= 1 characters <= 100 characters
company
string
<= 100 characters
street1
required
string
>= 1 characters <= 120 characters
street2
string
<= 80 characters
city
required
string
>= 1 characters <= 80 characters
state
required
string
>= 1 characters <= 40 characters
zip
required
string
>= 1 characters <= 20 characters
country
string
default: US >= 2 characters <= 2 characters
phone
string
<= 30 characters
email
string format: email
/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/
from_address_id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
parcel
required
object
packaging_type
required
string
Allowed values: box envelope padded_envelope poly_bag flat_rate_envelope flat_rate_padded small_flat_rate_box medium_flat_rate_box large_flat_rate_box
length_in
number
> 0 <= 108
width_in
number
> 0 <= 108
height_in
number
> 0 <= 108
weight_oz
required
number
> 0 <= 2400
options
object
insurance_cents
integer
<= 500000
signature
boolean
media_mail
boolean
irregular
boolean
hazmat
string
Allowed values: LIMITED_QUANTITY LITHIUM PRIMARY_CONTAINED PRIMARY_PACKED PRIMARY
is_return
boolean
reference1
string
<= 50 characters
reference2
string
<= 50 characters
label_size
string
default: 4x6
Allowed values: 4x6 2x7
label_format
string
default: PDF
Allowed values: PDF ZPL PNG
customs
object
contents_type
string
default: merchandise
Allowed values: merchandise gift documents returned_goods sample other
signer
required
string
>= 1 characters <= 100 characters
items
required
Array<object>
>= 1 items
object
description
required
string
>= 1 characters <= 200 characters
hs_tariff_number
string
<= 20 characters
origin_country
string
default: US >= 2 characters <= 2 characters
quantity
required
integer
> 0 <= 9007199254740991
value_cents
required
integer
> 0 <= 9007199254740991
weight_oz
required
number
> 0
sender_tax_id
object
id
required
string
>= 1 characters <= 40 characters
type
required
string
Allowed values: IOSS VAT EORI VOEC HMRC EIN SSN
recipient_tax_id
object
id
required
string
>= 1 characters <= 40 characters
type
required
string
Allowed values: IOSS VAT EORI VOEC HMRC EIN SSN
email_recipients
Array<string>
default: <= 5 items
order_id
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
batch_id
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
verify_address
boolean
default: true

Success.

Media typeapplication/json
Any of:
object
status
required
string
Allowed value: quoted
shipment_id
required
string
zone
required
number | null
rates
required
Array<object>
object
id
required
string
carrier
required
string
service
required
string
currency
required
string
price_cents
required

What the organization pays for this rate.

integer
>= -9007199254740991 <= 9007199254740991
retail_cents
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
delivery_days
required
number | null
delivery_date
required
string | null
guaranteed
required
boolean
badges
required
Array<string>
Allowed values: cheapest best fastest rule
suggested_rate_id
required

The rate a shipping rule chose, if any.

string | null
suggested_by_rule
required
string | null
applied_rules
required
Array<object>
object
ruleId
required
string
name
required
string
phase
required
string
effects
required
Array<string>
partial
required

True when some carriers did not answer, so the list may be shorter than usual.

boolean
expires_in_seconds
required
number

Example

{
"status": "quoted",
"rates": [
{
"badges": [
"cheapest"
]
}
]
}

Missing or invalid API key.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

The key lacks the required permission, or the account is suspended.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

The resource does not exist.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

The request is not valid. error.details.issues lists the problems.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

Too many requests. Wait Retry-After seconds.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: validation unauthenticated forbidden not_found conflict insufficient_funds org_suspended spend_limit rate_limited maintenance not_configured upstream internal
message
required
string
details
object
key
additional properties
any
request_id
required
string

Example

{
"error": {
"code": "validation"
}
}

© 2026 Ship Jay. All rights reserved. Created & Developed by WCWS Internet