Shippo external API.

Shipping and logistics API

docs.goshippo.com ↗
Version
2018-02-08
OpenAPI
3.0.3
Endpoints
64
Schemas
213
81
Quality
Updated
3 days ago
Shipping shipping logistics ecommerce
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.goshippo.com

Endpoints

Clear filters

Carrieraccounts 1 endpoints

PUT /carrier_accounts/{CarrierAccountId}

Updates an existing carrier account object. The account_id and carrier can’t be updated. This is because they form the unique identifier together.

operationId: CarrierAccounts_updateAccount

Parameters

Name In Required Type Description
CarrierAccountId path required string

Object ID of the carrier account

SHIPPO-API-VERSION header optional string

String used to pick a non-default API version to use

Request Body

Examples.

application/json
schema CarrierAccountBase
Property Type Required
active boolean optional
carrier string required
account_id string required
parameters object optional

Responses

200
PUT /carrier_accounts/{CarrierAccountId}

Ratesatcheckout 1 endpoints

PUT /live-rates/settings/parcel-template

Update the currently configured default parcel template for live rates. The object_id in the request payload should identify the user parcel template to be the new default.

operationId: RatesAtCheckout_updateDefaultParcelTemplate

Parameters

Name In Required Type Description
SHIPPO-API-VERSION header optional string

String used to pick a non-default API version to use

Request Body

application/json
schema DefaultParcelTemplateUpdateRequest
Property Type Required
object_id string optional

Responses

200
PUT /live-rates/settings/parcel-template

Servicegroups 1 endpoints

PUT /service-groups

Updates an existing service group object.
The object_id cannot be updated as it is the unique identifier for the object.

operationId: ServiceGroups_updateExistingGroup

Parameters

Name In Required Type Description
SHIPPO-API-VERSION header optional string

String used to pick a non-default API version to use

Request Body

application/json
schema ServiceGroupUpdateRequest
Property Type Required
name string required
type string required
flat_rate string optional
description string required
rate_adjustment integer optional
flat_rate_currency string optional
free_shipping_threshold_min string optional
free_shipping_threshold_currency string optional
is_active boolean required
object_id string required
service_levels array required
account_object_id string optional
service_level_token string optional

Responses

200
PUT /service-groups

Shippoaccounts 1 endpoints

PUT /shippo-accounts/{ShippoAccountId}

Updates a Shippo Account object

operationId: ShippoAccounts_updateAccountObject

Parameters

Name In Required Type Description
ShippoAccountId path optional string

Object ID of the ShippoAccount

SHIPPO-API-VERSION header optional string

String used to pick a non-default API version to use

Request Body

application/json
schema ShippoAccountUpdateRequest
Property Type Required
email string required
last_name string required
first_name string required
company_name string required

Responses

200
PUT /shippo-accounts/{ShippoAccountId}

Userparceltemplates 1 endpoints

PUT /user-parcel-templates/{UserParcelTemplateObjectId}

Updates an existing user parcel template.

operationId: UserParcelTemplates_updateTemplate

Parameters

Name In Required Type Description
UserParcelTemplateObjectId path required string

Object ID of the user parcel template

SHIPPO-API-VERSION header optional string

String used to pick a non-default API version to use

Request Body

application/json
schema UserParcelTemplateUpdateRequest
Property Type Required
name string required
width string required
height string required
length string required
weight string optional
weight_unit string optional
distance_unit string required

Responses

200
PUT /user-parcel-templates/{UserParcelTemplateObjectId}

Schemas

object Address
{
  "allOf": [
    {
      "$ref": "#/components/schemas/AddressBase"
    },
    {
      "required": [
        "country"
      ],
      "properties": {
        "test": {
          "type": "boolean",
          "example": false,
          "description": "Indicates whether the object has been created in test mode."
        },
        "object_id": {
          "type": "string",
          "example": "d799c2679e644279b59fe661ac8fa488",
          "description": "Unique identifier of the given Address object. \nThis ID is required to create a Shipment object."
        },
        "is_complete": {
          "type": "boolean",
          "example": true,
          "description": "Complete addresses contain all required values.<br><br>Incomplete addresses have failed one or multiple \nvalidations.<br>Incomplete Addresses are eligible for requesting rates but lack at least one required \nvalue for purchasing labels."
        },
        "object_owner": {
          "type": "string",
          "example": "shippotle@shippo.com",
          "description": "Username of the user who created the Address object."
        },
        "object_created": {
          "type": "string",
          "format": "date-time",
          "example": "2014-07-09T02:19:13.174Z",
          "description": "Date and time of Address creation."
        },
        "object_updated": {
          "type": "string",
          "format": "date-time",
          "example": "2014-07-09T02:19:13.174Z",
          "description": "Date and time of last Address update. Since you cannot update Addresses after they were created, this time \nstamp reflects the time when the Address was changed by Shippo's systems for the last time, e.g., during the \napproximation of one or more values."
        },
        "validation_results": {
          "$ref": "#/components/schemas/AddressValidationResults"
        }
      }
    }
  ]
}
object AddressBase
{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "example": "94117",
      "description": "**required for purchase**<br>\nPostal code of an Address. When creating a Quote Addresses, sending a ZIP is optional but will yield more \naccurate Rates."
    },
    "city": {
      "type": "string",
      "example": "San Francisco",
      "description": "**required for purchase**<br>\nName of a city. When creating a Quote Address, sending a city is optional but will yield more accurate Rates. \nPlease bear in mind that city names may be ambiguous (there are 34 Springfields in the US). Pass in a state \nor a ZIP code (see below), if known, it will yield more accurate results."
    },
    "name": {
      "type": "string",
      "example": "Shwan Ippotle",
      "description": "**required for purchase**<br>\nFirst and Last Name of the addressee"
    },
    "email": {
      "type": "string",
      "example": "shippotle@shippo.com",
      "description": "E-mail address of the contact person, RFC3696/5321-compliant."
    },
    "phone": {
      "type": "string",
      "example": "+1 555 341 9393",
      "description": "Addresses containing a phone number allow carriers to call the recipient when delivering the Parcel. This \nincreases the probability of delivery and helps to avoid accessorial charges after a Parcel has been shipped.    "
    },
    "state": {
      "type": "string",
      "example": "CA",
      "description": "**required for purchase for some countries**<br>\nState/Province values are required for shipments from/to the US, AU, and CA. UPS requires province for some \ncountries (i.e Ireland). To receive more accurate quotes, passing this field is recommended. Most carriers \nonly accept two or three character state abbreviations."
    },
    "company": {
      "type": "string",
      "example": "Shippo",
      "description": "Company Name"
    },
    "country": {
      "type": "string",
      "example": "US",
      "description": "Example: `US` or `DE`. All accepted values can be found on the \n<a href=\"http://www.iso.org/\" target=\"blank\">Official ISO Website</a>.\nSending a country is always required."
    },
    "street1": {
      "type": "string",
      "example": "215 Clayton St.",
      "description": "**required for purchase**<br>\nFirst street line, 35 character limit. Usually street number and street name (except for DHL Germany, see street_no)."
    },
    "street2": {
      "type": "string",
      "description": "Second street line, 35 character limit."
    },
    "street3": {
      "type": "string",
      "example": "",
      "description": "Third street line, 35 character limit. \nOnly accepted for USPS international shipments, UPS domestic and UPS international shipments."
    },
    "latitude": {
      "type": "number",
      "description": "Latitude of address"
    },
    "metadata": {
      "type": "string",
      "example": "Customer ID 123456",
      "description": "A string of up to 100 characters that can be filled with any additional information you want \nto attach to the object."
    },
    "longitude": {
      "type": "number",
      "description": "Longitude of address"
    },
    "street_no": {
      "type": "string",
      "example": "",
      "description": "Street number of the addressed building. \nThis field can be included in street1 for all carriers except for DHL Germany."
    },
    "is_residential": {
      "type": "boolean",
      "example": true
    }
  },
  "description": "Address represents the address as retrieved from the database"
}
object AddressCompleteCreateRequest
{
  "allOf": [
    {
      "$ref": "#/components/schemas/AddressBase"
    },
    {
      "required": [
        "name",
        "street1",
        "city",
        "state",
        "zip",
        "country"
      ],
      "properties": {
        "validate": {
          "type": "boolean",
          "example": true
        }
      }
    }
  ]
}
object AddressCreateRequest
{
  "allOf": [
    {
      "$ref": "#/components/schemas/AddressBase"
    },
    {
      "required": [
        "country"
      ],
      "properties": {
        "validate": {
          "type": "boolean",
          "example": true,
          "description": "Set to true to validate Address object."
        }
      }
    }
  ]
}
object AddressImporter
{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "example": "80331",
      "description": "Postal code of an Address."
    },
    "city": {
      "type": "string",
      "example": "München",
      "description": "Name of a city"
    },
    "name": {
      "type": "string",
      "example": "Shwan Ippotle",
      "description": "First and Last Name of the addressee"
    },
    "email": {
      "type": "string",
      "example": "shippotle@shippo.com",
      "description": "E-mail address of the contact person, RFC3696/5321-compliant."
    },
    "phone": {
      "type": "string",
      "example": "80331",
      "description": "Addresses containing a phone number allow carriers to call the recipient when delivering the Parcel. This \nincreases the probability of delivery and helps to avoid accessorial charges after a Parcel has been shipped.    "
    },
    "state": {
      "type": "string",
      "example": "CA",
      "description": "**required for purchase for some countries**<br>\nState/Province values are required for shipments from/to the US, AU, and CA. UPS requires province for some \ncountries (i.e Ireland). To receive more accurate quotes, passing this field is recommended. Most carriers \nonly accept two or three character state abbreviations."
    },
    "company": {
      "type": "string",
      "example": "Shippo",
      "description": "Company Name"
    },
    "country": {
      "type": "string",
      "example": "DE",
      "description": "Example: `US` or `DE`. All accepted values can be found on the \n<a href=\"http://www.iso.org/\" target=\"blank\">Official ISO Website</a>.\nSending a country is always required."
    },
    "street1": {
      "type": "string",
      "example": "Blumenstraße",
      "description": "First street line, 35 character limit. Usually street number and street name (except for DHL Germany, see street_no)."
    },
    "street2": {
      "type": "string",
      "description": "Second street line, 35 character limit."
    },
    "street3": {
      "type": "string",
      "example": "",
      "description": "Third street line, 35 character limit. \nOnly accepted for USPS international shipments, UPS domestic and UPS international shipments."
    },
    "street_no": {
      "type": "string",
      "example": "22",
      "description": "Street number of the addressed building. \nThis field can be included in street1 for all carriers except for DHL Germany."
    },
    "is_residential": {
      "type": "boolean",
      "example": true,
      "description": "Indicates whether the address provided is a residential address or not."
    }
  },
  "description": "Object that represents the address of the importer"
}
object AddressImporterResponse
{
  "properties": {
    "object_id": {
      "type": "string",
      "example": "7506ccbb65a34a8a9ac2cc4a89e820d2",
      "description": "ID of importer address object"
    }
  }
}
object AddressPaginatedList
{
  "allOf": [
    {
      "$ref": "#/components/schemas/PaginatedList"
    },
    {
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Address"
          }
        }
      }
    }
  ]
}
object AddressValidationResults
{
  "type": "object",
  "properties": {
    "is_valid": {
      "type": "boolean",
      "example": false
    },
    "messages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AddressValidationResultsMessage"
      }
    }
  },
  "description": "Object that contains information regarding if an address had been validated or not. Also contains any messages \ngenerated during validation. Children keys are <code>is_valid</code>(boolean) and <code>messages</code>(array)."
}
object AddressValidationResultsMessage
{
  "type": "object",
  "properties": {
    "code": {
      "enum": [
        "verification_error",
        "unknown_street",
        "component_mismatch_error",
        "multiple_match",
        "sub_premise_number_invalid",
        "sub_premise_number_missing",
        "premise_number_invalid",
        "premise_number_missing",
        "box_number_invalid",
        "box_number_missing",
        "pmb_number_missing",
        "postal_code_change",
        "administrative_area_change",
        "locality_change",
        "dependent_locality_change",
        "street_name_change",
        "street_type_change",
        "street_directional_change",
        "sub_premise_type_change",
        "sub_premise_number_change",
        "double_dependent_locality_change",
        "subadministrative_area_change",
        "subnational_area_change",
        "po_box_change",
        "premise_type_change",
        "house_number_change",
        "organization_change",
        "extraneous_information",
        "usps_door_inaccessible",
        "administrative_area_partial",
        "city_partial",
        "street_partial",
        "building_partial",
        "subpremise_partial",
        "administrative_area_full",
        "city_full",
        "thoroughfare_full",
        "premises_full",
        "subpremise_full",
        "geocoded_street",
        "geocoded_neighborhood",
        "geocoded_community",
        "geocoded_state",
        "geocoded_rooftop",
        "geocoded_interpolated_rooftop",
        "invalid_postal_code",
        "postal_code_not_found",
        "empty_request",
        "service_error",
        "street_detail_missing",
        "Invalid City/State/Zip",
        "Default Match",
        "Unknown Street",
        "Address Not Found",
        "Non-Deliverable ZIP4",
        "Multiple Responses",
        "Invalid Dual Address",
        "Invalid State",
        "Invalid City",
        "Ambiguous Address"
      ],
      "type": "string",
      "example": "Unknown Street"
    },
    "text": {
      "type": "string",
      "example": "City, State and ZIP Code are valid, but street address is not a match."
    },
    "type": {
      "type": "string",
      "example": "address_warning"
    },
    "source": {
      "enum": [
        "Shippo Address Validator",
        "UPS"
      ],
      "type": "string",
      "example": "Shippo Address Validator"
    }
  }
}
object Alcohol
{
  "type": "object",
  "properties": {
    "recipient_type": {
      "enum": [
        "licensee",
        "consumer"
      ],
      "type": "string",
      "description": "Mandatory for Fedex only. License type of the recipient of the Alcohol Package."
    },
    "contains_alcohol": {
      "type": "boolean",
      "description": "Mandatory for Fedex and UPS. Specifies that the package contains Alcohol."
    }
  },
  "description": "Indicates that a shipment contains Alcohol (Fedex and UPS only)."
}
object AmountAndCurrencyCharged
{
  "type": "object",
  "properties": {
    "amount": {
      "type": "string",
      "example": "5.52",
      "description": "The money amount"
    },
    "currency": {
      "type": "string",
      "example": "USD",
      "description": "The currency that 'amount' is in. The official ISO 4217 currency codes are used, e.g. \"USD\" or \"EUR\".\n<a href=\"http://www.xe.com/iso4217.php\" target=\"blank\">ISO 4217 Standard</a>."
    }
  },
  "description": "The amount and currency that was charged after possible currency conversion occurred."
}
object AmountAndCurrencyInvoiced
{
  "type": "object",
  "properties": {
    "amount": {
      "type": "string",
      "example": "5.52",
      "description": "The money amount"
    },
    "currency": {
      "type": "string",
      "example": "USD",
      "description": "The currency that 'amount' is in. The official ISO 4217 currency codes are used, e.g. \"USD\" or \"EUR\".\n<a href=\"http://www.xe.com/iso4217.php\" target=\"blank\">ISO 4217 Standard</a>."
    }
  },
  "description": "The amount and currency."
}
object BadRequestWithDetail
{
  "type": "object",
  "properties": {
    "detail": {
      "type": "string",
      "example": "Your registration unfortunately failed due to the following UPS error: Missing or invalid ControlID."
    }
  }
}
object BadRequestWithError
{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "example": "Only US shippers can create a new USPS account"
    }
  }
}
object Batch
{
  "allOf": [
    {
      "$ref": "#/components/schemas/BatchBase"
    },
    {
      "required": [
        "object_id",
        "object_owner",
        "status",
        "object_created",
        "object_updated",
        "batch_shipments",
        "object_results",
        "label_url"
      ],
      "properties": {
        "test": {
          "type": "boolean",
          "example": false
        },
        "status": {
          "enum": [
            "VALIDATING",
            "VALID",
            "INVALID",
            "PURCHASING",
            "PURCHASED"
          ],
          "type": "string",
          "example": "VALID",
          "description": "Batches that are `VALIDATING` are being created and validated<br>\n`VALID` batches can be purchased<br>\n`INVALID` batches cannot be purchased, `INVALID` BatchShipments must be removed<br>\nBatches that are in the `PURCHASING` state are being purchased<br>\n`PURCHASED` batches are finished purchasing."
        },
        "label_url": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of URLs each pointing to a merged file of 100 labels each"
        },
        "object_id": {
          "type": "string",
          "example": "5ef63c54f5bf45d3b1f8fb37dcb1c5f4",
          "description": "Unique identifier of the given Batch object"
        },
        "object_owner": {
          "type": "string",
          "example": "shippo@shippo.com",
          "description": "Username of the user who created the Address object."
        },
        "object_created": {
          "type": "string",
          "example": "2016-01-04T00:15:44.394Z",
          "description": "Date and time of Batch creation"
        },
        "object_results": {
          "type": "object",
          "required": [
            "purchase_failed",
            "purchase_succeeded",
            "creation_failed",
            "creation_succeeded"
          ],
          "properties": {
            "creation_failed": {
              "type": "integer",
              "format": "int64",
              "example": 3
            },
            "purchase_failed": {
              "type": "integer",
              "format": "int64",
              "example": 0
            },
            "creation_succeeded": {
              "type": "integer",
              "format": "int64",
              "example": 5
            },
            "purchase_succeeded": {
              "type": "integer",
              "format": "int64",
              "example": 0
            }
          },
          "description": "An object containing the following counts:<br>`creation_succeeded`<br>`creation_failed`<br>`purchase_succeeded`<br>`purchase_failed`"
        },
        "object_updated": {
          "type": "string",
          "example": "2016-01-04T00:48:13.841Z",
          "description": "Date and time of last update to the Batch"
        },
        "batch_shipments": {
          "$ref": "#/components/schemas/BatchShipmentPaginatedList"
        }
      }
    }
  ]
}
object BatchBase
{
  "type": "object",
  "required": [
    "default_carrier_account",
    "default_servicelevel_token"
  ],
  "properties": {
    "metadata": {
      "type": "string",
      "example": "BATCH #1",
      "maxLength": 100,
      "description": "A string of up to 100 characters that can be filled with any additional information you want to attach to the object."
    },
    "label_filetype": {
      "$ref": "#/components/schemas/LabelFileTypeEnum"
    },
    "default_carrier_account": {
      "type": "string",
      "example": "078870331023437cb917f5187429b093",
      "description": "ID of the Carrier Account object to use as the default for all shipments in this Batch. \nThe carrier account can be changed on a per-shipment basis by changing the carrier_account in the \ncorresponding BatchShipment object."
    },
    "default_servicelevel_token": {
      "type": "string",
      "example": "usps_priority",
      "description": "Token of the service level to use as the default for all shipments in this Batch. \nThe servicelevel can be changed on a per-shipment basis by changing the servicelevel_token in the \ncorresponding BatchShipment object. <a href=\"#tag/Service-Levels\">Servicelevel tokens can be found here.</a>"
    }
  }
}
object BatchCreateRequest
{
  "allOf": [
    {
      "$ref": "#/components/schemas/BatchBase"
    },
    {
      "required": [
        "batch_shipments"
      ],
      "properties": {
        "batch_shipments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BatchShipmentBase"
          },
          "description": "Array of BatchShipment objects. The response keeps the same order as in the request array."
        }
      }
    }
  ]
}
object BatchShipment
{
  "allOf": [
    {
      "$ref": "#/components/schemas/BatchShipmentBase"
    },
    {
      "required": [
        "shipment",
        "object_id",
        "status"
      ],
      "properties": {
        "status": {
          "enum": [
            "INVALID",
            "VALID",
            "INCOMPLETE",
            "TRANSACTION_FAILED"
          ],
          "type": "string",
          "example": "INVALID",
          "description": "`INVALID` batch shipments cannot be purchased and will have to be removed, fixed, and added to the batch again.<br>\n`VALID` batch shipments can be purchased. <br>\nBatch shipments with the status `TRANSACTION_FAILED` were not able to be purchased and the error will be displayed on the message field<br> \n`INCOMPLETE` batch shipments have an issue with the Address and will need to be removed, fixed, and added to the batch again."
        },
        "messages": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/ErrorMessage"
          },
          "description": "List of Shipment and Transaction error messages."
        },
        "object_id": {
          "type": "string",
          "example": "e11c95a6788d4ddcaa22f03175838740",
          "description": "Object ID of this batch shipment. Can be used in the remove_shipments endpoint."
        },
        "transaction": {
          "type": "string",
          "example": "4c33736a67e2450da88b38c42deef6b7",
          "description": "Object ID of the transaction object created for this batch shipment."
        }
      }
    }
  ]
}
object BatchShipmentBase
{
  "type": "object",
  "required": [
    "shipment"
  ],
  "properties": {
    "metadata": {
      "type": "string",
      "example": "SHIPMENT #1",
      "maxLength": 100,
      "description": "A string of up to 100 characters that can be filled with any additional information you want \nto attach to the object."
    },
    "shipment": {
      "$ref": "#/components/schemas/ShipmentCreateRequest"
    },
    "carrier_account": {
      "type": "string",
      "example": "a4391cd4ab974f478f55dc08b5c8e3b3",
      "description": "Object ID of the carrier account to be used for this shipment (will override batch default)"
    },
    "servicelevel_token": {
      "type": "string",
      "example": "fedex_ground",
      "description": "A token that sets the shipping method for the batch, overriding the batch default. \nServicelevel tokens can be found <a href=\"#tag/Service-Levels\">in this list</a> \nor <a href=\"#operation/ListCarrierAccounts\">at this endpoint</a>."
    }
  }
}
object BatchShipmentPaginatedList
{
  "allOf": [
    {
      "$ref": "#/components/schemas/PaginatedList"
    },
    {
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BatchShipment"
          }
        }
      },
      "description": "Array of <a href=\"#section/Batch-Shipment\">BatchShipment</a> objects. \nThe response keeps the same order as in the request array."
    }
  ]
}
array BatchesAddShipmentsToBatchRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/BatchShipmentBase"
  }
}
array BatchesRemoveShipmentsRequest
{
  "type": "array",
  "items": {
    "type": "string"
  }
}
object Billing
{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "description": "ZIP code of account number to be billed (required for UPS if there is a zip on the billing account)."
    },
    "type": {
      "enum": [
        "SENDER",
        "RECIPIENT",
        "THIRD_PARTY",
        "THIRD_PARTY_CONSIGNEE",
        "COLLECT"
      ],
      "type": "string",
      "description": "Party to be billed. (Leave blank for DHL Germany.)"
    },
    "account": {
      "type": "string",
      "description": "Account number to be billed. (For DHL Germany, leave this field blank.)"
    },
    "country": {
      "type": "string",
      "format": "iso-3166",
      "description": "Country iso2 code of account number to be billed (required for UPS third party billing only)."
    },
    "participation_code": {
      "type": "string",
      "description": "2 digit code used to override your default participation code associated with your DHL Germany account."
    }
  },
  "description": "Specify billing details (UPS, FedEx, and DHL Germany only)."
}
object COD
{
  "type": "object",
  "title": "COD Specify collection on delivery details (UPS only).",
  "properties": {
    "amount": {
      "type": "string",
      "example": "5.5",
      "description": "Amount to be collected."
    },
    "currency": {
      "type": "string",
      "example": "USD",
      "description": "Currency for the amount to be collected. Currently only USD is supported for UPS."
    },
    "payment_method": {
      "enum": [
        "SECURED_FUNDS",
        "CASH",
        "ANY"
      ],
      "type": "string",
      "example": "CASH",
      "description": "Secured funds include money orders, certified cheques and others (see \n<a href=\"https://www.ups.com/content/us/en/shipping/time/service/value_added/cod.html\">UPS</a> for details). \nIf no payment_method inputted the value defaults to \"ANY\".)"
    }
  },
  "description": "Specify collection on delivery details (UPS only)."
}
object CarrierAccount
{
  "allOf": [
    {
      "$ref": "#/components/schemas/CarrierAccountBase"
    },
    {
      "properties": {
        "test": {
          "type": "boolean",
          "example": false,
          "description": "Indicates whether the object has been created in test mode."
        },
        "metadata": {
          "type": "string"
        },
        "object_id": {
          "type": "string",
          "example": "6aa34d5f6865448fbb1ee93636e98999",
          "description": "Unique identifier of the carrier account object."
        },
        "carrier_name": {
          "example": "USPS",
          "description": "Carrier name, see <a href=\"#tag/Carriers\">Carriers</a><br>"
        },
        "object_owner": {
          "type": "string",
          "example": "bob+22@gmail.com",
          "description": "Username of the user who created the carrier account object."
        },
        "service_levels": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CarrierAccountServiceLevel"
          }
        },
        "is_shippo_account": {
          "type": "boolean",
          "example": false
        }
      }
    }
  ]
}
object CarrierAccountBase
{
  "type": "object",
  "required": [
    "carrier",
    "account_id"
  ],
  "properties": {
    "active": {
      "type": "boolean",
      "description": "Determines whether the account is active. When creating a shipment, if no `carrier_accounts` are explicitly \npassed Shippo will query all carrier accounts that have this field set. By default, this is set to True."
    },
    "carrier": {
      "type": "string",
      "example": "usps",
      "description": "Carrier token, see <a href=\"#tag/Carriers\">Carriers</a><br>\nPlease check the <a href=\"https://docs.goshippo.com/docs/carriers/carrieraccounts/\">carrier accounts tutorial</a> page for all supported carriers."
    },
    "account_id": {
      "type": "string",
      "example": "****",
      "description": "Unique identifier of the account. Please check the <a href=\"https://docs.goshippo.com/docs/carriers/carrieraccounts/\">carrier accounts tutorial</a> \npage for the `account_id` per carrier.<br> \nTo protect account information, this field will be masked in any API response."
    },
    "parameters": {
      "oneOf": [
        {
          "$ref": "#/components/schemas/ConnectExistingOwnAccountParameters"
        },
        {
          "$ref": "#/components/schemas/UPSConnectExistingOwnAccountParameters"
        }
      ]
    }
  }
}
object CarrierAccountCanadaPostCreateParameters
{
  "type": "object",
  "required": [
    "company",
    "phone",
    "full_name",
    "email",
    "canada_post_terms"
  ],
  "properties": {
    "email": {
      "type": "string",
      "example": "hippo@shippo.com"
    },
    "phone": {
      "type": "string",
      "example": "1112223333",
      "description": "Needs to be a valid phone number and cannot be null"
    },
    "company": {
      "type": "string",
      "example": "Shippo"
    },
    "full_name": {
      "type": "string",
      "example": "Shippo Meister"
    },
    "canada_post_terms": {
      "type": "boolean",
      "description": "Whether or not the user agrees to Canada Post's terms. If passed in as false, request will fail with error 400"
    }
  }
}
object CarrierAccountCanadaPostCreateRequest
{
  "type": "object",
  "title": "Shippo Canada Post account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "canada_post"
    },
    "parameters": {
      "$ref": "#/components/schemas/CarrierAccountCanadaPostCreateParameters"
    }
  }
}
object CarrierAccountChronopostCreateRequest
{
  "type": "object",
  "title": "Shippo Chronopost account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "chronopost"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountColissimoCreateRequest
{
  "type": "object",
  "title": "Shippo Colissimo account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "colissimo"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountCorreosCreateRequest
{
  "type": "object",
  "title": "Shippo Correos account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "correos"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountDHLExpressCreateRequest
{
  "type": "object",
  "title": "Shippo DHL Express account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "dhl_express"
    },
    "parameters": {
      "$ref": "#/components/schemas/CarrierAccountDHLExpressCreateRequestParameters"
    }
  }
}
object CarrierAccountDHLExpressCreateRequestParameters
{
  "type": "object",
  "required": [
    "user_accepted_terms_and_conditions"
  ],
  "properties": {
    "user_accepted_terms_and_conditions": {
      "type": "boolean",
      "description": "Whether or not the user agrees to the DHL Express Terms and Conditions. If passed in as false, request will fail with error 400"
    }
  }
}
object CarrierAccountDPDUKCreateRequest
{
  "type": "object",
  "title": "Shippo DPD UK account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "dpd_uk"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountDeutschePostCreateRequest
{
  "type": "object",
  "title": "Shippo Deutsche Post account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "deustche_post"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountDpdDeCreateRequest
{
  "type": "object",
  "title": "Shippo DPD DE account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "dpd_de"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountFedExCreateRequest
{
  "type": "object",
  "title": "Shippo FedEx account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "fedex"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountHermesUKCreateRequest
{
  "type": "object",
  "title": "Shippo Evri UK account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "hermes_uk"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountMondialRelayCreateRequest
{
  "type": "object",
  "title": "Shippo Mondial Relay account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "mondialrelay"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountPaginatedList
{
  "allOf": [
    {
      "$ref": "#/components/schemas/PaginatedList"
    },
    {
      "properties": {
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CarrierAccountWithExtraInfo"
          }
        }
      }
    }
  ]
}
object CarrierAccountPosteItalianeCreateRequest
{
  "type": "object",
  "title": "Shippo Poste Italiane account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "poste_italiane"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountRegistrationStatus
{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "example": "PENDING_TERMS"
    },
    "object_owner": {
      "type": "string",
      "example": "tom@gmail.com"
    },
    "object_created": {
      "type": "string",
      "format": "date-time"
    },
    "object_updated": {
      "type": "string",
      "format": "date-time"
    },
    "carrier_account": {
      "type": "string",
      "example": "99dc410d295b4a168993cc38809cb123"
    }
  }
}
object CarrierAccountServiceLevel
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "Priority Mail Express",
      "description": "Service level name, e.g. `Priority Mail` or `FedEx Ground®`. \nA service level commonly defines the transit time of a Shipment (e.g., Express vs. Standard), along with other properties. \nThese names vary depending on the provider.<br>\nSee <a href=\"#tag/Service-Levels\">Service Levels</a>."
    },
    "token": {
      "type": "string",
      "example": "usps_priority_express",
      "description": "Service level token, e.g. `usps_priority` or `fedex_ground`.<br>\nSee <a href=\"#tag/Service-Levels\">Service Levels</a>."
    },
    "supports_return_labels": {
      "type": "boolean",
      "example": true,
      "description": "Whether or not the service level supports return labels."
    }
  },
  "description": "Contains details regarding the service level for the carrier account."
}
object CarrierAccountUPSCreateRequest
{
  "type": "object",
  "title": "Shippo UPS account",
  "required": [
    "carrier"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "ups"
    },
    "parameters": {
      "$ref": "#/components/schemas/CarrierAccountUPSCreateRequestParameters"
    }
  }
}
object CarrierAccountUPSCreateRequestParameters
{
  "type": "object",
  "required": [
    "ups_agreements",
    "billing_address_street1",
    "billing_address_city",
    "billing_address_zip",
    "billing_address_state",
    "billing_address_country_iso2",
    "pickup_address_street1",
    "pickup_address_city",
    "pickup_address_zip",
    "pickup_address_state",
    "pickup_address_country_iso2"
  ],
  "properties": {
    "email": {
      "type": "string",
      "example": "hippo@shippo.com"
    },
    "phone": {
      "type": "string",
      "example": "1112223333",
      "description": "Needs to be a valid phone number and cannot be null"
    },
    "company": {
      "type": "string",
      "example": "Shippo",
      "description": "Company name. Full name is acceptable in this field if the user has no company name"
    },
    "full_name": {
      "type": "string",
      "example": "Shippo Meister"
    },
    "ups_agreements": {
      "type": "boolean",
      "description": "Whether the user agrees to the UPS terms and conditions or not. Error 400 will be returned if passed in as false"
    },
    "pickup_address_zip": {
      "type": "string",
      "example": "94103",
      "maxLength": 5,
      "minLength": 5,
      "description": "User's pickup address zip code."
    },
    "billing_address_zip": {
      "type": "string",
      "example": "94103",
      "maxLength": 5,
      "minLength": 5
    },
    "pickup_address_city": {
      "type": "string",
      "example": "San Francisco",
      "description": "User's pickup address city."
    },
    "billing_address_city": {
      "type": "string",
      "example": "San Francisco"
    },
    "pickup_address_state": {
      "type": "string",
      "example": "CA",
      "maxLength": 2,
      "minLength": 2,
      "description": "User's pickup address state."
    },
    "billing_address_state": {
      "type": "string",
      "example": "CA",
      "maxLength": 2,
      "minLength": 2
    },
    "pickup_address_street1": {
      "type": "string",
      "example": "731 Market St",
      "description": "User's pickup address street 1."
    },
    "pickup_address_street2": {
      "type": "string",
      "example": "STE 200",
      "description": "User's pickup street 2."
    },
    "billing_address_street1": {
      "type": "string",
      "example": "731 Market St"
    },
    "billing_address_street2": {
      "type": "string",
      "example": "STE 200",
      "description": "Empty string acceptable for billing_address_street2"
    },
    "pickup_address_country_iso2": {
      "type": "string",
      "example": "US",
      "maxLength": 2,
      "minLength": 2,
      "description": "User's pickup street 1."
    },
    "billing_address_country_iso2": {
      "type": "string",
      "example": "US",
      "maxLength": 2,
      "minLength": 2
    },
    "pickup_address_same_as_billing_address": {
      "type": "boolean",
      "example": false
    }
  }
}
object CarrierAccountUSPSCreateRequest
{
  "type": "object",
  "title": "Shippo USPS account",
  "required": [
    "carrier",
    "parameters"
  ],
  "properties": {
    "carrier": {
      "type": "string",
      "example": "usps"
    },
    "parameters": {
      "type": "object"
    }
  }
}
object CarrierAccountWithExtraInfo
{
  "allOf": [
    {
      "$ref": "#/components/schemas/CarrierAccount"
    },
    {
      "properties": {
        "object_info": {
          "type": "object",
          "properties": {
            "authentication": {
              "type": "object",
              "properties": {
                "type": {
                  "enum": [
                    "default",
                    "oauth"
                  ],
                  "type": "string",
                  "description": "Authentication method used by this account."
                },
                "status": {
                  "enum": [
                    "disconnected",
                    "connected",
                    "authorization_pending"
                  ],
                  "type": "string",
                  "description": "Current authentication status. Possible values: 'disconnected' (authorization lost, reconnect needed), 'connected' (authorized and active), 'authorization_pending' (awaiting initial authorization flow)."
                }
              }
            }
          },
          "description": "Holds internal state relevant to users."
        }
      }
    }
  ]
}
object CarrierAccountsAddShippoAccountRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/CarrierAccountCanadaPostCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountChronopostCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountColissimoCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountCorreosCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountDeutschePostCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountDHLExpressCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountDpdDeCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountDPDUKCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountFedExCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountHermesUKCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountMondialRelayCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountPosteItalianeCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountUPSCreateRequest"
    },
    {
      "$ref": "#/components/schemas/CarrierAccountUSPSCreateRequest"
    }
  ]
}
object CarrierAccountsInitiateSignIn401Response
{
  "type": "object",
  "example": {},
  "properties": {}
}
object CarrierAccountsInitiateSignIn422Response
{
  "type": "object",
  "example": {},
  "properties": {}
}

Versions

Version Endpoints Schemas Ingested Status
2018-02-08 64 213 2026-05-11 current
2018-02-08 64 213 2026-04-16