For Agents
Validate addresses, fetch live carrier rates, buy shipping labels, generate customs declarations, and track parcels across 80+ carriers via Shippo.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Shippo external API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Shippo external API.
Validate and normalize a destination address before label purchase
Quote rates across registered carrier accounts for a given parcel and route
Purchase a shipping label from a chosen rate and download the PDF or PNG
Generate customs declarations and items for international shipments
GET STARTED
Use for: I need to buy a USPS Priority Mail label for an order, Validate a customer shipping address before fulfillment, Quote rates from UPS and FedEx for a 2 lb parcel to 90210, Generate a customs declaration for a shipment to Canada
Not supported: Does not handle inventory management, payments, or warehouse robotics — use for shipping labels, rates, customs, and tracking only.
The Shippo external API provides multi-carrier shipping for e-commerce: address validation, parcel and shipment creation, rate quoting across 80+ carriers, label purchase, customs declarations, batch processing, manifests, and tracking. The 70-endpoint surface covers the full outbound logistics flow, with native support for carrier accounts, return labels, refunds, and pickup scheduling. Authentication uses an API key supplied via the Authorization header, scoped per Shippo account.
Submit shipments in a batch and purchase the cheapest rate per shipment automatically
Issue return labels tied to an original outbound shipment
Track an in-transit parcel by carrier and tracking number
Patterns agents use Shippo external API for, with concrete tasks.
★ Multi-Carrier Rate Shopping
Quote rates from every connected carrier for a given parcel and ship-to address, then purchase the cheapest or fastest option programmatically. Shippo normalizes pricing, transit time, and service codes across 80+ carriers so the merchant does not need separate USPS, UPS, FedEx, and DHL integrations. Address validation runs first to avoid label rejections.
POST /shipments with from, to, and parcel details, list rates, and POST /transactions with the lowest-priced rate object_id to purchase the label.
International Shipping with Customs
Generate customs declarations and item lists, attach them to international shipments, and produce compliant labels and commercial invoices. The /customs/declarations and /customs/items endpoints capture HS codes, value, weight, and origin. Shippo bundles the documentation with the label PDF so warehouse staff print one file per parcel.
Create a customs declaration for shipment id abcd1234 with one item (HS code 6109.10, value $24, qty 2, origin US) and purchase the label that includes the commercial invoice.
Self-Serve Returns Portal
Power a returns portal that generates a prepaid return label as soon as the shopper requests one. POST /shipments with the original outbound metadata flipped, fetch return-eligible rates, and purchase the chosen rate. Tracking on the return shipment feeds the warehouse so refunds can be issued on receipt rather than scan-in.
Create a return shipment from the customer address back to the warehouse, purchase the cheapest USPS rate, and email the resulting label PDF to the shopper.
AI Agent Fulfillment Automation
An AI agent ingests new orders, validates addresses, batches them by service level, purchases labels, and posts tracking back to the e-commerce platform. Through Jentic, the agent finds the right Shippo operation by intent and uses a vault-stored API key, never exposing the raw token to the model.
For order 5544, validate the ship-to address via /addresses/{id}/validate, purchase a USPS Priority label via /transactions, and update the order with the tracking number.
70 endpoints — the shippo external api provides multi-carrier shipping for e-commerce: address validation, parcel and shipment creation, rate quoting across 80+ carriers, label purchase, customs declarations, batch processing, manifests, and tracking.
METHOD
PATH
DESCRIPTION
/addresses
Create an address
/addresses/{AddressId}/validate
Validate an address
/shipments
Create a shipment and get rates
/transactions
Purchase a label from a rate
/customs/declarations
Create a customs declaration
/batches
Create a batch of shipments
/batches/{BatchId}/purchase
Purchase all shipments in a batch
/carrier_accounts
Connect a carrier account
/addresses
Create an address
/addresses/{AddressId}/validate
Validate an address
/shipments
Create a shipment and get rates
/transactions
Purchase a label from a rate
/customs/declarations
Create a customs declaration
Three things that make agents converge on Jentic-routed access.
Credential isolation
The Shippo API token is stored encrypted in the Jentic vault (MAXsystem). Agents receive a scoped reference and Jentic adds the 'ShippoToken' header at execution time, so the raw token never reaches the agent's prompt.
Intent-based discovery
Agents search by intent (e.g., 'buy the cheapest shipping label') and Jentic returns the matching Shippo operation with its input schema, so the agent can chain shipment creation, rate selection, and purchase without browsing docs.
Time to first call
Direct Shippo integration: 3-7 days for auth, multi-carrier setup, and label download handling. Through Jentic: under 1 hour from search to first purchased label.
Alternatives and complements available in the Jentic catalogue.
Stripe
Payment processor that pairs with shipping for end-to-end commerce
Combine Stripe for payment with Shippo for fulfillment when building a full e-commerce backend.
Specific to using Shippo external API through Jentic.
What authentication does the Shippo API use?
An API key sent in the Authorization header with the value 'ShippoToken <YOUR_TOKEN>'. Tokens come from the Shippo dashboard and can be live or test. Through Jentic, the token is held in the encrypted vault and injected into the request at execution time.
How do I buy a shipping label through the Shippo API?
POST /shipments with from, to, and parcel details to receive a list of rate objects. Pick a rate by object_id, then POST /transactions with that rate to purchase the label. The transaction response includes the label_url for download as PDF, PNG, or ZPL.
Can I generate customs declarations with the Shippo API?
Yes. POST /customs/declarations with declaration metadata, attach a list of /customs/items objects (HS code, description, value, weight, origin), and reference the declaration object_id when creating an international shipment. Shippo bundles the commercial invoice with the label.
What carriers does Shippo support?
Shippo connects to 80+ carriers including USPS, UPS, FedEx, DHL Express, Canada Post, Royal Mail, Australia Post, and many regional carriers. Use POST /carrier_accounts to attach your carrier credentials, or use the included Shippo USPS account.
How do I integrate the Shippo API with an AI agent through Jentic?
Run pip install jentic, search 'buy a shipping label' to find POST /transactions, load its schema, and execute. Jentic injects the ShippoToken header from the vault. Get started at https://app.jentic.com/sign-up.
/batches
Create a batch of shipments
/batches/{BatchId}/purchase
Purchase all shipments in a batch
/carrier_accounts
Connect a carrier account