Shippo Shipping MCP Server for Cloudflare Workers
56 tools available in the Shippo MCP server. Each tool can be called by AI assistants to perform specific actions.
shippo_list_addressesList all addresses from your Shippo account with pagination.
Returns a paginated list of saved addresses.
Args:
Returns: Paginated list of addresses with name, street, city, state, zip, and country.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of addresses to return"
}
}
}shippo_get_addressGet a single address by ID.
Args:
Returns: The address record with all available fields including validation results.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Address object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_addressCreate a new address in Shippo.
Args:
Returns: The created address record with object_id for future reference.
{
"type": "object",
"required": [
"name",
"street1",
"city",
"state",
"zip",
"country"
],
"properties": {
"zip": {
"type": "string",
"description": "Postal/ZIP code"
},
"city": {
"type": "string",
"description": "City"
},
"name": {
"type": "string",
"description": "Recipient name"
},
"email": {
"type": "string",
"description": "Email address"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"state": {
"type": "string",
"description": "State/province code"
},
"company": {
"type": "string",
"description": "Company name"
},
"country": {
"type": "string",
"description": "ISO 2-letter country code"
},
"street1": {
"type": "string",
"description": "Street address line 1"
},
"street2": {
"type": "string",
"description": "Street address line 2"
},
"street3": {
"type": "string",
"description": "Street address line 3"
},
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"validate": {
"type": "boolean",
"description": "Validate address on creation"
},
"is_residential": {
"type": "boolean",
"description": "Whether address is residential"
}
}
}shippo_validate_addressValidate an existing address by ID.
Validates the address and returns validation results including any errors or suggestions.
Args:
Returns: The address with validation_results containing is_valid status and any messages.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Address object ID to validate"
}
}
}shippo_get_batchGet a batch by ID.
Args:
Returns: The batch with status, shipments, and label URLs.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Batch object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_get_customs_itemGet a single customs item by ID.
Args:
Returns: The customs item with description, quantity, value, and origin country.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Customs item object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_batchCreate a batch for processing multiple shipments at once.
Batches allow you to create multiple shipping labels efficiently.
Args:
Each batch_shipment should include:
Returns: The created batch with status. Poll until status is VALID.
{
"type": "object",
"required": [
"default_carrier_account",
"default_servicelevel_token",
"batch_shipments"
],
"properties": {
"metadata": {
"type": "string"
},
"batch_shipments": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shipments to include"
},
"label_file_type": {
"enum": [
"PNG",
"PNG_2.3x7.5",
"PDF",
"PDF_4x6",
"PDF_4x8",
"PDF_A4",
"ZPLII"
],
"type": "string",
"default": "PDF_4x6"
},
"default_carrier_account": {
"type": "string",
"description": "Default carrier account ID"
},
"default_servicelevel_token": {
"type": "string",
"description": "Default service level token"
}
}
}shippo_add_shipments_to_batchAdd shipments to an existing batch.
Can only add to batches with status VALIDATING or VALID.
Args:
Returns: The updated batch.
{
"type": "object",
"required": [
"batch_id",
"shipments"
],
"properties": {
"batch_id": {
"type": "string",
"description": "Batch object ID"
},
"shipments": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shipments to add"
}
}
}shippo_remove_shipments_from_batchRemove shipments from an existing batch.
Can only remove from batches with status VALIDATING or VALID.
Args:
Returns: The updated batch.
{
"type": "object",
"required": [
"batch_id",
"shipment_ids"
],
"properties": {
"batch_id": {
"type": "string",
"description": "Batch object ID"
},
"shipment_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Batch shipment IDs to remove"
}
}
}shippo_purchase_batchPurchase all labels in a batch.
Purchases shipping labels for all valid shipments in the batch. Batch must have status VALID before purchasing.
Args:
Returns: The batch with status PURCHASING. Poll until PURCHASED for label URLs.
{
"type": "object",
"required": [
"batch_id"
],
"properties": {
"batch_id": {
"type": "string",
"description": "Batch object ID"
}
}
}shippo_list_carrier_accountsList all carrier accounts connected to your Shippo account.
Returns a paginated list of carrier accounts including Shippo's pre-configured accounts and your own connected carrier accounts.
Args:
Returns: Paginated list of carrier accounts with carrier name, account ID, and status.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of accounts to return"
}
}
}shippo_get_carrier_accountGet a single carrier account by ID.
Args:
Returns: The carrier account with carrier name, credentials, and status.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Carrier account object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_carrier_accountConnect a new carrier account to Shippo.
Connects your own carrier account (e.g., your UPS or FedEx account) to Shippo to get negotiated rates.
Args:
Returns: The created carrier account.
{
"type": "object",
"required": [
"carrier",
"account_id"
],
"properties": {
"active": {
"type": "boolean",
"default": true,
"description": "Whether account is active"
},
"carrier": {
"type": "string",
"description": "Carrier name/token"
},
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"account_id": {
"type": "string",
"description": "Your account ID with the carrier"
},
"parameters": {
"type": "object",
"description": "Carrier-specific parameters"
}
}
}shippo_update_carrier_accountUpdate an existing carrier account.
Args:
Returns: The updated carrier account.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Carrier account object ID"
},
"active": {
"type": "boolean",
"description": "Enable or disable account"
},
"metadata": {
"type": "string",
"description": "New custom metadata"
},
"account_id": {
"type": "string",
"description": "New account ID"
},
"parameters": {
"type": "object",
"description": "New carrier-specific parameters"
}
}
}shippo_list_customs_itemsList all customs items from your Shippo account.
Customs items represent individual items in a customs declaration for international shipments.
Args:
Returns: Paginated list of customs items with description, quantity, value, and origin.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of items to return"
}
}
}shippo_create_customs_itemCreate a new customs item for international shipping.
Customs items describe individual products being shipped internationally.
Args:
Returns: The created customs item with object_id.
{
"type": "object",
"required": [
"description",
"quantity",
"net_weight",
"value_amount",
"value_currency",
"origin_country"
],
"properties": {
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"quantity": {
"type": "integer",
"description": "Number of units"
},
"sku_code": {
"type": "string",
"description": "SKU code"
},
"mass_unit": {
"enum": [
"g",
"oz",
"lb",
"kg"
],
"type": "string",
"default": "lb",
"description": "Weight unit"
},
"eccn_ear99": {
"type": "string",
"description": "Export control classification"
},
"net_weight": {
"type": "number",
"description": "Net weight per unit"
},
"description": {
"type": "string",
"description": "Item description"
},
"value_amount": {
"type": "number",
"description": "Value per unit"
},
"tariff_number": {
"type": "string",
"description": "HS tariff code"
},
"origin_country": {
"type": "string",
"description": "Country of manufacture (ISO)"
},
"value_currency": {
"type": "string",
"description": "ISO currency code"
}
}
}shippo_list_customs_declarationsList all customs declarations from your Shippo account.
Customs declarations are required for international shipments.
Args:
Returns: Paginated list of customs declarations.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number to return"
}
}
}shippo_get_customs_declarationGet a single customs declaration by ID.
Args:
Returns: The customs declaration with all details.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Customs declaration object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_customs_declarationCreate a customs declaration for international shipping.
Required for all international shipments. Must include customs items.
Args:
Returns: The created customs declaration with object_id.
{
"type": "object",
"required": [
"certify",
"certify_signer",
"contents_type",
"non_delivery_option",
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Customs items or item IDs"
},
"notes": {
"type": "string"
},
"aes_itn": {
"type": "string"
},
"certify": {
"description": "Certify declaration accuracy"
},
"eel_pfc": {
"type": "string"
},
"invoice": {
"type": "string"
},
"license": {
"type": "string"
},
"incoterm": {
"type": "string"
},
"metadata": {
"type": "string"
},
"b13a_number": {
"type": "string"
},
"certificate": {
"type": "string"
},
"contents_type": {
"type": "string",
"description": "Type of contents"
},
"certify_signer": {
"type": "string",
"description": "Name of person certifying"
},
"b13a_filing_option": {
"type": "string"
},
"commercial_invoice": {
"type": "boolean"
},
"exporter_reference": {
"type": "string"
},
"importer_reference": {
"type": "string"
},
"non_delivery_option": {
"type": "string",
"description": "Non-delivery handling"
},
"contents_explanation": {
"type": "string",
"description": "Explanation if type is OTHER"
}
}
}shippo_create_live_rateGet live shipping rates for checkout.
Returns real-time shipping rates based on service groups you've configured. Use this to show shipping options to customers at checkout.
Args:
Each line_item should include:
Returns: Array of available rates with carrier, service, price, and estimated days.
{
"type": "object",
"required": [
"address_from",
"address_to",
"line_items"
],
"properties": {
"parcel": {
"type": "string",
"description": "Parcel dimensions or ID"
},
"address_to": {
"type": "string",
"description": "Recipient address or ID"
},
"line_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Items being shipped"
},
"address_from": {
"type": "string",
"description": "Sender address or ID"
}
}
}shippo_get_default_parcel_templateGet the default parcel template for live rates.
The default template is used when no parcel is specified in live rate requests.
Args:
Returns: The default parcel template, or null if not set.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_update_default_parcel_templateSet the default parcel template for live rates.
Args:
Returns: The updated default parcel template.
{
"type": "object",
"required": [
"object_id"
],
"properties": {
"object_id": {
"type": "string",
"description": "User parcel template object ID"
}
}
}shippo_delete_default_parcel_templateClear the default parcel template for live rates.
After clearing, live rate requests will require a parcel to be specified.
Returns: Confirmation of deletion.
{
"type": "object",
"properties": {}
}shippo_get_rateGet a single rate by ID.
Args:
Returns: The rate record with carrier, service level, price, and estimated delivery.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Rate object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_list_manifestsList all manifests (end-of-day forms) from your Shippo account.
Manifests are used to close out shipments with carriers at the end of the day.
Args:
Returns: Paginated list of manifests with status and transaction counts.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of manifests to return"
}
}
}shippo_get_manifestGet a single manifest by ID.
Args:
Returns: The manifest with status, transactions, and document URLs.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Manifest object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_manifestCreate a manifest (end-of-day form) for a carrier.
Manifests close out all shipments for a carrier on a given date. Required by some carriers before pickup.
Args:
Returns: The created manifest with status and document URLs.
{
"type": "object",
"required": [
"carrier_account",
"shipment_date",
"address_from",
"transactions"
],
"properties": {
"async": {
"type": "boolean",
"description": "Create asynchronously"
},
"address_from": {
"type": "string",
"description": "Origin address object ID"
},
"transactions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Transaction IDs to include"
},
"shipment_date": {
"type": "string",
"description": "Manifest date (ISO 8601)"
},
"carrier_account": {
"type": "string",
"description": "Carrier account object ID"
}
}
}shippo_list_ordersList all orders from your Shippo account.
Orders represent e-commerce orders that need to be shipped.
Args:
Returns: Paginated list of orders with order number, status, and line items.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of orders to return"
}
}
}shippo_get_orderGet a single order by ID.
Args:
Returns: The order with addresses, line items, and fulfillment status.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Order object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_orderCreate a new order in Shippo.
Orders represent e-commerce orders that need fulfillment.
Args:
Each line_item should include:
Returns: The created order with object_id.
{
"type": "object",
"required": [
"to_address",
"line_items",
"placed_at"
],
"properties": {
"notes": {
"type": "string"
},
"weight": {
"type": "string"
},
"currency": {
"type": "string"
},
"placed_at": {
"type": "string",
"description": "Order date (ISO 8601)"
},
"total_tax": {
"type": "string"
},
"line_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "Order line items"
},
"to_address": {
"type": "string",
"description": "Recipient address or ID"
},
"total_price": {
"type": "string"
},
"weight_unit": {
"enum": [
"g",
"oz",
"lb",
"kg"
],
"type": "string"
},
"from_address": {
"type": "string",
"description": "Sender address or ID"
},
"order_number": {
"type": "string",
"description": "Your order number"
},
"order_status": {
"type": "string",
"description": "Order status"
},
"shipping_cost": {
"type": "string"
},
"subtotal_price": {
"type": "string"
},
"shipping_method": {
"type": "string"
},
"shipping_cost_currency": {
"type": "string"
}
}
}shippo_list_carrier_parcel_templatesList carrier-provided parcel templates.
Carrier templates are predefined box sizes (e.g., USPS Flat Rate boxes). Using templates can simplify parcel creation.
Args:
Returns: Paginated list of carrier parcel templates.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"carrier": {
"type": "string",
"description": "Filter by carrier"
},
"include": {
"type": "string",
"description": "Include carriers (comma-separated)"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
}
}
}shippo_get_carrier_parcel_templateGet a single carrier parcel template by token.
Args:
Returns: The template with dimensions and carrier information.
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "Carrier parcel template token"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_list_user_parcel_templatesList your custom parcel templates.
User templates are your own saved parcel dimensions for quick reuse.
Args:
Returns: Paginated list of your parcel templates.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1
}
}
}shippo_get_user_parcel_templateGet a single user parcel template by ID.
Args:
Returns: The template with name and dimensions.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "User parcel template object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_user_parcel_templateCreate a custom parcel template.
Save frequently used parcel dimensions for quick reuse.
Args:
Returns: The created user parcel template.
{
"type": "object",
"required": [
"name",
"length",
"width",
"height"
],
"properties": {
"name": {
"type": "string",
"description": "Template name"
},
"width": {
"type": "number",
"description": "Width"
},
"height": {
"type": "number",
"description": "Height"
},
"length": {
"type": "number",
"description": "Length"
},
"weight": {
"type": "number",
"description": "Default weight"
},
"template": {
"type": "string",
"description": "Base carrier template token"
},
"weight_unit": {
"enum": [
"g",
"oz",
"lb",
"kg"
],
"type": "string"
},
"distance_unit": {
"enum": [
"cm",
"in",
"ft",
"mm",
"m",
"yd"
],
"type": "string",
"default": "in"
}
}
}shippo_delete_user_parcel_templateDelete a user parcel template.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "User parcel template object ID"
}
}
}shippo_list_parcelsList all parcels from your Shippo account with pagination.
Returns a paginated list of saved parcels.
Args:
Returns: Paginated list of parcels with dimensions and weight.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of parcels to return"
}
}
}shippo_get_parcelGet a single parcel by ID.
Args:
Returns: The parcel record with dimensions and weight.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Parcel object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_parcelCreate a new parcel in Shippo.
Args:
Returns: The created parcel record with object_id for future reference.
{
"type": "object",
"required": [
"length",
"width",
"height",
"weight"
],
"properties": {
"width": {
"type": "number",
"description": "Parcel width"
},
"height": {
"type": "number",
"description": "Parcel height"
},
"length": {
"type": "number",
"description": "Parcel length"
},
"weight": {
"type": "number",
"description": "Parcel weight"
},
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"template": {
"type": "string",
"description": "Carrier parcel template token"
},
"mass_unit": {
"enum": [
"g",
"oz",
"lb",
"kg"
],
"type": "string",
"default": "lb",
"description": "Mass unit"
},
"distance_unit": {
"enum": [
"cm",
"in",
"ft",
"mm",
"m",
"yd"
],
"type": "string",
"default": "in",
"description": "Distance unit"
}
}
}shippo_create_pickupSchedule a pickup with a carrier.
Schedules a carrier pickup for one or more shipments.
Args:
Returns: The created pickup with confirmation code and scheduled times.
{
"type": "object",
"required": [
"carrier_account",
"transactions",
"requested_start_time",
"requested_end_time"
],
"properties": {
"is_test": {
"type": "boolean",
"description": "Test pickup"
},
"metadata": {
"type": "string"
},
"transactions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Transaction IDs to pick up"
},
"carrier_account": {
"type": "string",
"description": "Carrier account object ID"
},
"requested_end_time": {
"type": "string",
"description": "Latest pickup time (ISO 8601)"
},
"requested_start_time": {
"type": "string",
"description": "Earliest pickup time (ISO 8601)"
}
}
}shippo_list_shipment_ratesList all rates for a shipment.
Gets available shipping rates for an existing shipment. Optionally filter by currency.
Args:
Returns: Paginated list of rates with carrier, service, price, and estimated days.
{
"type": "object",
"required": [
"shipment_id"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"currency": {
"type": "string",
"description": "ISO currency code (e.g., USD)"
},
"shipment_id": {
"type": "string",
"description": "Shipment object ID"
}
}
}shippo_create_refundRequest a refund for an unused shipping label.
Creates a refund request for a transaction (label purchase). Not all carriers support refunds; check carrier policies.
Args:
Returns: The refund object with status (QUEUED, PENDING, SUCCESS, or ERROR).
{
"type": "object",
"required": [
"transaction"
],
"properties": {
"async": {
"type": "boolean",
"description": "Process refund asynchronously"
},
"transaction": {
"type": "string",
"description": "Transaction object ID to refund"
}
}
}shippo_get_refundGet the status of a refund request.
Args:
Returns: The refund object with current status.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Refund object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}shippo_list_service_groupsList all service groups for live rates.
Service groups define which carrier services to offer at checkout.
Args:
Returns: Array of service groups with name, type, and service levels.
{
"type": "object",
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
}
}
}shippo_create_service_groupCreate a new service group for live rates.
Service groups control which shipping options appear at checkout.
Args:
Each service_level should include:
Returns: The created service group.
{
"type": "object",
"required": [
"name",
"type",
"service_levels"
],
"properties": {
"name": {
"type": "string",
"description": "Service group name"
},
"type": {
"type": "string",
"description": "Group type"
},
"flat_rate": {
"type": "string",
"description": "Flat rate amount"
},
"is_active": {
"type": "boolean",
"default": true,
"description": "Whether active"
},
"description": {
"type": "string"
},
"service_levels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Service levels to include"
},
"rate_adjustment": {
"type": "number",
"maximum": 100,
"description": "Rate adjustment %"
},
"flat_rate_currency": {
"type": "string",
"description": "Flat rate currency"
},
"free_shipping_threshold_min": {
"type": "string",
"description": "Free shipping threshold"
},
"free_shipping_threshold_currency": {
"type": "string"
}
}
}shippo_update_service_groupUpdate an existing service group.
Args:
Returns: The updated service group.
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"flat_rate": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"description": {
"type": "string"
},
"service_levels": {
"type": "array",
"items": {
"type": "string"
}
},
"rate_adjustment": {
"type": "number",
"maximum": 100
},
"flat_rate_currency": {
"type": "string"
},
"free_shipping_threshold_min": {
"type": "string"
},
"free_shipping_threshold_currency": {
"type": "string"
}
}
}shippo_delete_service_groupDelete a service group.
Args:
Returns: Confirmation of deletion.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Service group object ID"
}
}
}shippo_list_shipmentsList all shipments from your Shippo account with pagination.
Returns a paginated list of shipments with addresses and rates.
Args:
Returns: Paginated list of shipments with status, addresses, and available rates.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of shipments to return"
}
}
}shippo_get_shipmentGet a single shipment by ID.
Args:
Returns: The shipment record with addresses, parcels, and available rates.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Shipment object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_shipmentCreate a new shipment in Shippo to get shipping rates.
A shipment represents a package being sent from one address to another. Creating a shipment will automatically fetch available rates from carriers.
Args:
Returns: The created shipment with available rates from carriers.
{
"type": "object",
"required": [
"address_from",
"address_to",
"parcels"
],
"properties": {
"async": {
"type": "boolean",
"description": "Fetch rates asynchronously"
},
"parcels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Parcels or parcel IDs"
},
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"address_to": {
"type": "string",
"description": "Recipient address or address ID"
},
"address_from": {
"type": "string",
"description": "Sender address or address ID"
},
"shipment_date": {
"type": "string",
"description": "Shipment date (ISO 8601)"
},
"address_return": {
"type": "string",
"description": "Return address or ID"
},
"carrier_accounts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Carrier account IDs"
},
"customs_declaration": {
"type": "string",
"description": "Customs declaration ID"
}
}
}shippo_get_tracking_statusGet the tracking status of a shipment.
Retrieves the current tracking status and history for a shipment using the carrier name and tracking number.
Args:
Returns: Tracking status including current status, location, ETA, and tracking history.
{
"type": "object",
"required": [
"carrier",
"tracking_number"
],
"properties": {
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"carrier": {
"type": "string",
"description": "Carrier name/token (e.g., usps, ups, fedex)"
},
"tracking_number": {
"type": "string",
"description": "Tracking number"
}
}
}shippo_register_tracking_webhookRegister a webhook to receive tracking updates for a shipment.
Sets up tracking notifications for a shipment. Shippo will send webhook events as the shipment status changes.
Note: You must have webhooks configured in your Shippo dashboard.
Args:
Returns: Initial tracking status for the registered shipment.
{
"type": "object",
"required": [
"carrier",
"tracking_number"
],
"properties": {
"carrier": {
"type": "string",
"description": "Carrier name/token (e.g., usps, ups, fedex)"
},
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"tracking_number": {
"type": "string",
"description": "Tracking number"
}
}
}shippo_list_transactionsList all transactions (label purchases) from your Shippo account.
Returns a paginated list of label transactions.
Args:
Returns: Paginated list of transactions with status, tracking number, and label URL.
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string",
"default": "json",
"description": "Response format"
},
"results": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of transactions to return"
}
}
}shippo_get_transactionGet a single transaction (label) by ID.
Args:
Returns: The transaction record with status, tracking number, and label URL.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Transaction object ID"
},
"format": {
"enum": [
"json",
"markdown"
],
"type": "string"
}
}
}shippo_create_transactionCreate a transaction to purchase a shipping label.
Purchases a shipping label based on a rate from a shipment.
Args:
Returns: The transaction with tracking number and label URL.
{
"type": "object",
"required": [
"rate"
],
"properties": {
"rate": {
"type": "string",
"description": "Rate object ID to purchase"
},
"async": {
"type": "boolean",
"description": "Create label asynchronously"
},
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"label_file_type": {
"type": "string",
"default": "PDF_4x6",
"description": "Label file format"
}
}
}shippo_create_instant_transactionCreate an instant transaction (one-call label purchase).
Creates a shipment and purchases a label in a single API call. Use this when you already know which carrier and service level you want.
Args:
Returns: The transaction with tracking number and label URL.
{
"type": "object",
"required": [
"address_from",
"address_to",
"parcels",
"carrier_account",
"servicelevel_token"
],
"properties": {
"parcels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Parcels or parcel IDs"
},
"metadata": {
"type": "string",
"description": "Custom metadata"
},
"address_to": {
"type": "string",
"description": "Recipient address or address ID"
},
"address_from": {
"type": "string",
"description": "Sender address or address ID"
},
"carrier_account": {
"type": "string",
"description": "Carrier account object ID"
},
"label_file_type": {
"type": "string",
"default": "PDF_4x6",
"description": "Label file format"
},
"servicelevel_token": {
"type": "string",
"description": "Service level token (e.g., usps_priority)"
}
}
}