EasyPost MCP Server for Cloudflare Workers
79 tools available in the EasyPost MCP server. Each tool can be called by AI assistants to perform specific actions.
easypost_list_api_keysList all API keys for the authenticated user and child accounts.
{
"type": "object",
"properties": {}
}easypost_create_api_keyCreate a new API key.
Requires a Production API Key.
{
"type": "object",
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"test",
"production"
],
"type": "string",
"description": "API key mode"
}
}
}easypost_delete_api_keyPermanently delete an API key.
This cannot be undone.
{
"type": "object",
"required": [
"apiKeyId"
],
"properties": {
"apiKeyId": {
"type": "string",
"description": "The API key ID"
}
}
}easypost_disable_api_keyDisable an API key.
The key can be re-enabled later.
{
"type": "object",
"required": [
"apiKeyId"
],
"properties": {
"apiKeyId": {
"type": "string",
"description": "The API key ID"
}
}
}easypost_enable_api_keyRe-enable a disabled API key.
{
"type": "object",
"required": [
"apiKeyId"
],
"properties": {
"apiKeyId": {
"type": "string",
"description": "The API key ID"
}
}
}easypost_create_addressCreate a new address in EasyPost.
Returns an Address object that can be used for shipments.
{
"type": "object",
"properties": {
"verify": {
"type": "array",
"items": {
"type": "string"
},
"description": "Verification checks to perform (e.g., [\"zip4\", \"delivery\"])"
},
"verify_strict": {
"type": "array",
"items": {
"type": "string"
},
"description": "Strict verification checks"
}
}
}easypost_create_and_verify_addressCreate and verify an address in one request.
Combines address creation with strict verification. Returns an error if verification fails.
{
"type": "object",
"properties": {}
}easypost_get_addressRetrieve an address by its ID.
{
"type": "object",
"required": [
"addressId"
],
"properties": {
"addressId": {
"type": "string",
"description": "The address ID (starts with \"adr_"
}
}
}easypost_list_addressesList all addresses with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return addresses after this ID"
},
"beforeId": {
"type": "string",
"description": "Return addresses before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of addresses to return (max 100)"
}
}
}easypost_verify_addressVerify an existing address.
Performs address verification and returns updated address with verification results.
{
"type": "object",
"required": [
"addressId"
],
"properties": {
"addressId": {
"type": "string",
"description": "The address ID to verify"
}
}
}easypost_get_webhookRetrieve a webhook by its ID.
{
"type": "object",
"required": [
"webhookId"
],
"properties": {
"webhookId": {
"type": "string",
"description": "The webhook ID (starts with \"hook_"
}
}
}easypost_create_batchCreate a new batch for bulk shipment operations.
It is recommended to keep each batch under 1,000 shipments to avoid timeout errors.
{
"type": "object",
"properties": {
"reference": {
"type": "string",
"description": "Optional reference string"
},
"shipmentIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shipment IDs to add to the batch"
}
}
}easypost_get_batchRetrieve a batch by its ID.
{
"type": "object",
"required": [
"batchId"
],
"properties": {
"batchId": {
"type": "string",
"description": "The batch ID (starts with \"batch_"
}
}
}easypost_list_batchesList batches with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return batches after this ID"
},
"beforeId": {
"type": "string",
"description": "Return batches before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of batches to return"
}
}
}easypost_add_shipments_to_batchAdd shipments to an existing batch.
{
"type": "object",
"required": [
"batchId",
"shipmentIds"
],
"properties": {
"batchId": {
"type": "string",
"description": "The batch ID"
},
"shipmentIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shipment IDs to add"
}
}
}easypost_remove_shipments_from_batchRemove shipments from a batch.
{
"type": "object",
"required": [
"batchId",
"shipmentIds"
],
"properties": {
"batchId": {
"type": "string",
"description": "The batch ID"
},
"shipmentIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shipment IDs to remove"
}
}
}easypost_buy_batchPurchase all shipments in a batch.
This is an asynchronous operation. Check the batch status for completion.
{
"type": "object",
"required": [
"batchId"
],
"properties": {
"batchId": {
"type": "string",
"description": "The batch ID"
}
}
}easypost_create_batch_labelGenerate consolidated labels for all shipments in a batch.
All shipments must have "postage_purchased" status.
{
"type": "object",
"required": [
"batchId",
"format"
],
"properties": {
"format": {
"enum": [
"PDF",
"ZPL",
"EPL2"
],
"type": "string",
"description": "Label format"
},
"batchId": {
"type": "string",
"description": "The batch ID"
}
}
}easypost_create_batch_scan_formCreate a scan form manifest for a batch.
{
"type": "object",
"required": [
"batchId"
],
"properties": {
"batchId": {
"type": "string",
"description": "The batch ID"
}
}
}easypost_list_carrier_accountsList all carrier accounts associated with your account.
{
"type": "object",
"properties": {}
}easypost_get_carrier_accountRetrieve a carrier account by its ID.
{
"type": "object",
"required": [
"carrierAccountId"
],
"properties": {
"carrierAccountId": {
"type": "string",
"description": "The carrier account ID (starts with \"ca_"
}
}
}easypost_create_carrier_accountCreate a new carrier account.
Requires a Production API Key. Some carriers require a custom workflow through the UI.
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"description": "Carrier type (e.g., \"UpsAccount\", \"FedexAccount"
},
"reference": {
"type": "string",
"description": "Optional reference string"
},
"credentials": {
"type": "object",
"description": "Carrier-specific credentials"
},
"description": {
"type": "string",
"description": "Account description"
},
"test_credentials": {
"type": "object",
"description": "Test mode credentials"
}
}
}easypost_update_carrier_accountUpdate an existing carrier account.
{
"type": "object",
"required": [
"carrierAccountId"
],
"properties": {
"reference": {
"type": "string",
"description": "New reference string"
},
"credentials": {
"type": "object",
"description": "Updated credentials"
},
"description": {
"type": "string",
"description": "New description"
},
"carrierAccountId": {
"type": "string",
"description": "The carrier account ID"
},
"test_credentials": {
"type": "object",
"description": "Updated test credentials"
}
}
}easypost_delete_carrier_accountDelete a carrier account.
{
"type": "object",
"required": [
"carrierAccountId"
],
"properties": {
"carrierAccountId": {
"type": "string",
"description": "The carrier account ID to delete"
}
}
}easypost_get_carrier_metadataGet metadata about carriers including service levels, predefined packages, and features.
{
"type": "object",
"properties": {
"types": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by metadata types (e.g., [\"service_levels\", \"predefined_packages\"])"
},
"carriers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by carrier names (e.g., [\"usps\", \"fedex\"])"
}
}
}easypost_create_customs_infoCreate customs information for international shipments.
{
"type": "object",
"required": [
"customs_items"
],
"properties": {
"eel_pfc": {
"type": "string",
"description": "EEL/PFC value"
},
"declaration": {
"type": "string",
"description": "Declaration statement"
},
"contents_type": {
"enum": [
"documents",
"gift",
"merchandise",
"other",
"returned_goods",
"sample"
],
"type": "string",
"description": "Contents type"
},
"customs_items": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of customs items"
},
"customs_signer": {
"type": "string",
"description": "Name of signer"
},
"customs_certify": {
"type": "boolean",
"description": "Certify customs declaration"
},
"restriction_type": {
"enum": [
"none",
"other",
"quarantine",
"sanitary_phytosanitary_inspection"
],
"type": "string",
"description": "Restriction type"
},
"non_delivery_option": {
"enum": [
"abandon",
"return"
],
"type": "string",
"description": "Action if undeliverable"
},
"contents_explanation": {
"type": "string",
"description": "Explanation if contents_type is \"other\""
},
"restriction_comments": {
"type": "string",
"description": "Restriction comments"
}
}
}easypost_get_customs_infoRetrieve customs information by its ID.
{
"type": "object",
"required": [
"customsInfoId"
],
"properties": {
"customsInfoId": {
"type": "string",
"description": "The customs info ID (starts with \"cstinfo_"
}
}
}easypost_create_customs_itemCreate a standalone customs item.
{
"type": "object",
"required": [
"description",
"quantity",
"value",
"weight"
],
"properties": {
"code": {
"type": "string",
"description": "Product code"
},
"value": {
"type": "string",
"description": "Total value in USD (e.g., \"25.00"
},
"weight": {
"type": "number",
"description": "Weight in ounces"
},
"currency": {
"type": "string",
"description": "Currency code (default: USD)"
},
"quantity": {
"type": "number",
"description": "Quantity of items"
},
"description": {
"type": "string",
"description": "Item description"
},
"origin_country": {
"type": "string",
"description": "Country of origin"
},
"hs_tariff_number": {
"type": "string",
"description": "HS tariff number"
}
}
}easypost_get_customs_itemRetrieve a customs item by its ID.
{
"type": "object",
"required": [
"customsItemId"
],
"properties": {
"customsItemId": {
"type": "string",
"description": "The customs item ID (starts with \"cstitem_"
}
}
}easypost_create_end_shipperCreate a new end shipper for third-party billing.
At least one of name or company is required.
{
"type": "object",
"required": [
"street1",
"city",
"state",
"zip",
"country",
"phone",
"email"
],
"properties": {
"zip": {
"type": "string",
"description": "ZIP code"
},
"city": {
"type": "string",
"description": "City"
},
"name": {
"type": "string",
"description": "Name of person"
},
"email": {
"type": "string",
"description": "Email address (required)"
},
"phone": {
"type": "string",
"description": "Phone number (required)"
},
"state": {
"type": "string",
"description": "State"
},
"company": {
"type": "string",
"description": "Company name"
},
"country": {
"type": "string",
"description": "Country code (US only)"
},
"street1": {
"type": "string",
"description": "First line of address"
},
"street2": {
"type": "string",
"description": "Second line of address"
}
}
}easypost_get_end_shipperRetrieve an end shipper by its ID.
{
"type": "object",
"required": [
"endShipperId"
],
"properties": {
"endShipperId": {
"type": "string",
"description": "The end shipper ID (starts with \"es_"
}
}
}easypost_list_end_shippersList end shippers with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return end shippers after this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of end shippers to return"
}
}
}easypost_update_end_shipperUpdate an existing end shipper.
{
"type": "object",
"required": [
"endShipperId"
],
"properties": {
"zip": {
"type": "string",
"description": "ZIP code"
},
"city": {
"type": "string",
"description": "City"
},
"name": {
"type": "string",
"description": "Name of person"
},
"email": {
"type": "string",
"description": "Email address"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"state": {
"type": "string",
"description": "State"
},
"company": {
"type": "string",
"description": "Company name"
},
"country": {
"type": "string",
"description": "Country code"
},
"street1": {
"type": "string",
"description": "First line of address"
},
"street2": {
"type": "string",
"description": "Second line of address"
},
"endShipperId": {
"type": "string",
"description": "The end shipper ID"
}
}
}easypost_get_eventRetrieve an event by its ID.
{
"type": "object",
"required": [
"eventId"
],
"properties": {
"eventId": {
"type": "string",
"description": "The event ID (starts with \"evt_"
}
}
}easypost_list_eventsList events with pagination.
Events are webhook notifications triggered by object changes.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return events after this ID"
},
"beforeId": {
"type": "string",
"description": "Return events before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of events to return"
},
"endDatetime": {
"type": "string",
"description": "End datetime filter (ISO 8601)"
},
"startDatetime": {
"type": "string",
"description": "Start datetime filter (ISO 8601)"
}
}
}easypost_create_insuranceCreate standalone insurance for a package purchased outside EasyPost.
{
"type": "object",
"required": [
"trackingCode",
"carrier",
"amount"
],
"properties": {
"amount": {
"type": "string",
"description": "Insurance amount (e.g., \"100.00"
},
"carrier": {
"type": "string",
"description": "Carrier name"
},
"reference": {
"type": "string",
"description": "Optional reference string"
},
"toAddressId": {
"type": "string",
"description": "Destination address ID"
},
"trackingCode": {
"type": "string",
"description": "The tracking code"
},
"fromAddressId": {
"type": "string",
"description": "Origin address ID"
}
}
}easypost_get_insuranceRetrieve an insurance record by its ID.
{
"type": "object",
"required": [
"insuranceId"
],
"properties": {
"insuranceId": {
"type": "string",
"description": "The insurance ID (starts with \"ins_"
}
}
}easypost_list_insuranceList insurance records with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return records after this ID"
},
"beforeId": {
"type": "string",
"description": "Return records before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of records to return"
},
"endDatetime": {
"type": "string",
"description": "End datetime filter (ISO 8601)"
},
"startDatetime": {
"type": "string",
"description": "Start datetime filter (ISO 8601)"
}
}
}easypost_refund_insuranceRefund standalone insurance.
Only eligible if tracking status is pre_transit, cancelled, or unknown.
{
"type": "object",
"required": [
"insuranceId"
],
"properties": {
"insuranceId": {
"type": "string",
"description": "The insurance ID to refund"
}
}
}easypost_create_orderCreate a new order for multi-parcel shipping.
Works with select carriers: AustraliaPost, DHLExpress, DPD, DPDUK, Fastway, FedEx, UPS, Purolator, LoomisExpress. Maximum of 100 shipments per order.
{
"type": "object",
"properties": {
"carrier": {
"type": "string",
"description": "Carrier for one-call buy"
},
"service": {
"type": "string",
"description": "Service level for one-call buy"
},
"reference": {
"type": "string",
"description": "Optional reference string"
},
"carrier_accounts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Carrier account IDs"
}
}
}easypost_get_orderRetrieve an order by its ID.
{
"type": "object",
"required": [
"orderId"
],
"properties": {
"orderId": {
"type": "string",
"description": "The order ID (starts with \"order_"
}
}
}easypost_buy_orderPurchase an order with a specified carrier and service.
This will purchase all shipments in the order with the same carrier/service.
{
"type": "object",
"required": [
"orderId",
"carrier",
"service"
],
"properties": {
"carrier": {
"type": "string",
"description": "Carrier name"
},
"orderId": {
"type": "string",
"description": "The order ID"
},
"service": {
"type": "string",
"description": "Service level"
}
}
}easypost_create_parcelCreate a new parcel in EasyPost.
Dimensions are in inches, weight is in ounces. Either provide dimensions (length, width, height) OR a predefined_package.
{
"type": "object",
"required": [
"weight"
],
"properties": {
"width": {
"type": "number",
"description": "Width in inches"
},
"height": {
"type": "number",
"description": "Height in inches"
},
"length": {
"type": "number",
"description": "Length in inches"
},
"weight": {
"type": "number",
"description": "Weight in ounces (required)"
},
"predefined_package": {
"type": "string",
"description": "Predefined package type (e.g., \"FedExEnvelope\", \"USPSFlatRateBox"
}
}
}easypost_get_parcelRetrieve a parcel by its ID.
{
"type": "object",
"required": [
"parcelId"
],
"properties": {
"parcelId": {
"type": "string",
"description": "The parcel ID (starts with \"prcl_"
}
}
}easypost_list_webhooksList all webhooks associated with your API key.
{
"type": "object",
"properties": {}
}easypost_create_pickupCreate a new pickup request.
Requires an existing purchased Shipment or Batch. Supported carriers: UPS, USPS, FedEx, DHL Express, Canada Post, and others.
{
"type": "object",
"required": [
"min_datetime",
"max_datetime"
],
"properties": {
"batchId": {
"type": "string",
"description": "Batch ID to pick up"
},
"shipmentId": {
"type": "string",
"description": "Shipment ID to pick up"
},
"instructions": {
"type": "string",
"description": "Pickup instructions"
},
"max_datetime": {
"type": "string",
"description": "Latest pickup time (ISO 8601)"
},
"min_datetime": {
"type": "string",
"description": "Earliest pickup time (ISO 8601)"
},
"carrier_accounts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Carrier account IDs"
},
"is_account_address": {
"type": "boolean",
"description": "Use account address"
}
}
}easypost_get_pickupRetrieve a pickup by its ID.
{
"type": "object",
"required": [
"pickupId"
],
"properties": {
"pickupId": {
"type": "string",
"description": "The pickup ID (starts with \"pickup_"
}
}
}easypost_list_pickupsList pickups with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return pickups after this ID"
},
"beforeId": {
"type": "string",
"description": "Return pickups before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of pickups to return"
}
}
}easypost_buy_pickupPurchase a pickup with a selected carrier and service.
{
"type": "object",
"required": [
"pickupId",
"carrier",
"service"
],
"properties": {
"carrier": {
"type": "string",
"description": "Carrier name"
},
"service": {
"type": "string",
"description": "Service level"
},
"pickupId": {
"type": "string",
"description": "The pickup ID"
}
}
}easypost_cancel_pickupCancel a scheduled pickup.
{
"type": "object",
"required": [
"pickupId"
],
"properties": {
"pickupId": {
"type": "string",
"description": "The pickup ID to cancel"
}
}
}easypost_get_ratesGet shipping rates without creating a shipment (Beta).
This is ideal for displaying or comparing rates without persisting Shipment objects. Note: Rate objects returned do NOT include IDs.
{
"type": "object",
"properties": {
"carrier_accounts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Carrier account IDs to get rates from"
}
}
}easypost_create_refundCreate refunds for one or more tracking codes.
Returns an array of Refund objects for bulk processing.
{
"type": "object",
"required": [
"carrier",
"trackingCodes"
],
"properties": {
"carrier": {
"type": "string",
"description": "Carrier name"
},
"trackingCodes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tracking codes to refund"
}
}
}easypost_get_refundRetrieve a refund by its ID.
{
"type": "object",
"required": [
"refundId"
],
"properties": {
"refundId": {
"type": "string",
"description": "The refund ID (starts with \"rfnd_"
}
}
}easypost_list_refundsList refunds with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return refunds after this ID"
},
"beforeId": {
"type": "string",
"description": "Return refunds before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of refunds to return"
},
"endDatetime": {
"type": "string",
"description": "End datetime filter (ISO 8601)"
},
"startDatetime": {
"type": "string",
"description": "Start datetime filter (ISO 8601)"
}
}
}easypost_create_reportGenerate a new report.
Reports are generated asynchronously. Check the report status for completion. Date range must be no more than 31 days.
{
"type": "object",
"required": [
"start_date",
"end_date"
],
"properties": {
"columns": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specific columns to include"
},
"end_date": {
"type": "string",
"description": "End date (YYYY-MM-DD)"
},
"send_email": {
"type": "boolean",
"description": "Send report via email when ready"
},
"start_date": {
"type": "string",
"description": "Start date (YYYY-MM-DD)"
},
"include_children": {
"type": "boolean",
"description": "Include child user data"
}
}
}easypost_get_reportRetrieve a report by its ID.
Use this to check report status and get the download URL when ready.
{
"type": "object",
"required": [
"reportId"
],
"properties": {
"reportId": {
"type": "string",
"description": "The report ID"
}
}
}easypost_list_reportsList reports of a specific type with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return reports after this ID"
},
"beforeId": {
"type": "string",
"description": "Return reports before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of reports to return"
}
}
}easypost_create_scan_formCreate a scan form (manifest) for multiple shipments.
A scan form allows you to hand over multiple packages to the carrier with a single barcode scan.
{
"type": "object",
"required": [
"shipmentIds"
],
"properties": {
"shipmentIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shipment IDs to include in the scan form"
}
}
}easypost_get_scan_formRetrieve a scan form by its ID.
{
"type": "object",
"required": [
"scanFormId"
],
"properties": {
"scanFormId": {
"type": "string",
"description": "The scan form ID (starts with \"sf_"
}
}
}easypost_list_scan_formsList scan forms with pagination.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return scan forms after this ID"
},
"beforeId": {
"type": "string",
"description": "Return scan forms before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of scan forms to return"
}
}
}easypost_update_userUpdate user account settings.
{
"type": "object",
"required": [
"userId"
],
"properties": {
"name": {
"type": "string",
"description": "User name"
},
"userId": {
"type": "string",
"description": "User ID"
},
"phone_number": {
"type": "string",
"description": "Phone number"
},
"recharge_amount": {
"type": "string",
"description": "Primary recharge amount"
},
"recharge_threshold": {
"type": "string",
"description": "Balance threshold to trigger recharge"
},
"secondary_recharge_amount": {
"type": "string",
"description": "Secondary recharge amount"
}
}
}easypost_create_shipmentCreate a new shipment in EasyPost.
Creates a shipment and automatically retrieves available rates. Use existing IDs or provide full address/parcel data.
For one-call buy, include service and optionally carrier_accounts.
{
"type": "object",
"properties": {
"service": {
"type": "string",
"description": "Service level for one-call buy"
},
"is_return": {
"type": "boolean",
"description": "Whether this is a return shipment"
},
"reference": {
"type": "string",
"description": "Optional reference string"
},
"carbon_offset": {
"type": "boolean",
"description": "Whether to purchase carbon offset"
},
"customs_info_id": {
"type": "string",
"description": "Customs info ID for international shipments"
},
"carrier_accounts": {
"type": "array",
"items": {
"type": "string"
},
"description": "Carrier account IDs to get rates from"
}
}
}easypost_get_shipmentRetrieve a shipment by its ID.
{
"type": "object",
"required": [
"shipmentId"
],
"properties": {
"shipmentId": {
"type": "string",
"description": "The shipment ID (starts with \"shp_"
}
}
}easypost_list_shipmentsList shipments with pagination and filters.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return shipments after this ID"
},
"beforeId": {
"type": "string",
"description": "Return shipments before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of shipments to return"
},
"purchased": {
"type": "boolean",
"description": "Filter by purchased status"
},
"endDatetime": {
"type": "string",
"description": "End datetime filter (ISO 8601)"
},
"startDatetime": {
"type": "string",
"description": "Start datetime filter (ISO 8601)"
},
"includeChildren": {
"type": "boolean",
"description": "Include child user shipments"
}
}
}easypost_buy_shipmentPurchase a shipment with a selected rate.
This will generate the shipping label and tracking code.
{
"type": "object",
"required": [
"shipmentId",
"rateId"
],
"properties": {
"rateId": {
"type": "string",
"description": "The rate ID to purchase"
},
"insurance": {
"type": "string",
"description": "Insurance amount (e.g., \"100.00"
},
"shipmentId": {
"type": "string",
"description": "The shipment ID"
},
"endShipperId": {
"type": "string",
"description": "End shipper ID for third-party billing"
}
}
}easypost_refund_shipmentRequest a refund for a purchased shipment.
{
"type": "object",
"required": [
"shipmentId"
],
"properties": {
"shipmentId": {
"type": "string",
"description": "The shipment ID to refund"
}
}
}easypost_rerate_shipmentRegenerate rates for an existing shipment.
Use this to refresh rates if time has passed since shipment creation.
{
"type": "object",
"required": [
"shipmentId"
],
"properties": {
"shipmentId": {
"type": "string",
"description": "The shipment ID to rerate"
}
}
}easypost_convert_labelConvert a shipping label to a different format.
{
"type": "object",
"required": [
"shipmentId",
"format"
],
"properties": {
"format": {
"enum": [
"PDF",
"ZPL",
"EPL2"
],
"type": "string",
"description": "Target label format"
},
"shipmentId": {
"type": "string",
"description": "The shipment ID"
}
}
}easypost_get_smartratesGet SmartRate predictions for a shipment.
Returns transit time predictions across various percentiles for all rates. Only available for US domestic shipments.
{
"type": "object",
"required": [
"shipmentId"
],
"properties": {
"shipmentId": {
"type": "string",
"description": "The shipment ID"
}
}
}easypost_get_smartrate_delivery_dateGet estimated delivery dates based on a planned ship date.
{
"type": "object",
"required": [
"shipmentId",
"plannedShipDate"
],
"properties": {
"shipmentId": {
"type": "string",
"description": "The shipment ID"
},
"plannedShipDate": {
"type": "string",
"description": "Planned ship date (YYYY-MM-DD)"
}
}
}easypost_get_smartrate_precision_shippingGet optimal ship dates to meet a desired delivery date.
{
"type": "object",
"required": [
"shipmentId",
"desiredDeliveryDate"
],
"properties": {
"shipmentId": {
"type": "string",
"description": "The shipment ID"
},
"desiredDeliveryDate": {
"type": "string",
"description": "Desired delivery date (YYYY-MM-DD)"
}
}
}easypost_create_trackerCreate a tracker for a package.
Note: Trackers are automatically created when purchasing shipments through EasyPost. Use this for tracking packages purchased outside of EasyPost.
{
"type": "object",
"required": [
"trackingCode"
],
"properties": {
"carrier": {
"type": "string",
"description": "Carrier name (auto-detected if not provided)"
},
"trackingCode": {
"type": "string",
"description": "The tracking code/number"
}
}
}easypost_get_trackerRetrieve a tracker by its ID.
{
"type": "object",
"required": [
"trackerId"
],
"properties": {
"trackerId": {
"type": "string",
"description": "The tracker ID (starts with \"trk_"
}
}
}easypost_list_trackersList trackers with pagination and filters.
{
"type": "object",
"properties": {
"afterId": {
"type": "string",
"description": "Return trackers after this ID"
},
"carrier": {
"type": "string",
"description": "Filter by carrier"
},
"beforeId": {
"type": "string",
"description": "Return trackers before this ID"
},
"pageSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Number of trackers to return"
},
"endDatetime": {
"type": "string",
"description": "End datetime filter (ISO 8601)"
},
"startDatetime": {
"type": "string",
"description": "Start datetime filter (ISO 8601)"
},
"trackingCodes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by tracking codes"
}
}
}easypost_delete_trackerDelete a tracker.
This will stop webhook events for this tracker.
{
"type": "object",
"required": [
"trackerId"
],
"properties": {
"trackerId": {
"type": "string",
"description": "The tracker ID to delete"
}
}
}easypost_get_userRetrieve user account information.
Without an ID, returns the authenticated user's information.
{
"type": "object",
"properties": {
"userId": {
"type": "string",
"description": "User ID (omit for authenticated user)"
}
}
}easypost_create_webhookCreate a new webhook for event notifications.
Webhooks require HTTPS URLs with valid TLS certificates.
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Webhook URL (must be HTTPS)"
},
"webhook_secret": {
"type": "string",
"description": "HMAC secret for signature verification"
}
}
}easypost_update_webhookUpdate a webhook's settings.
Can be used to update the secret or re-enable a disabled webhook.
{
"type": "object",
"required": [
"webhookId"
],
"properties": {
"webhookId": {
"type": "string",
"description": "The webhook ID"
},
"webhook_secret": {
"type": "string",
"description": "New HMAC secret"
}
}
}easypost_delete_webhookDelete a webhook.
{
"type": "object",
"required": [
"webhookId"
],
"properties": {
"webhookId": {
"type": "string",
"description": "The webhook ID to delete"
}
}
}