ShipStation through One
ShipStation is a web-based shipping and fulfillment platform with a powerful developer API that centralizes order management, multi-carrier rate shopping, label creation, tracking, inventory integration, returns, and more—supporting over 200 carriers and scalable workflows across e-commerce businesses.
One exposes ShipStation through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.
How to run an action
- Find the action in the table below, or call
search_one_platform_actions with platform ship-station if it is not listed.
- Call
get_one_action_knowledge with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
- Call
execute_one_action with parameters copied from that knowledge.
Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.
Before you start
Call list_one_integrations once and confirm ShipStation is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.
Each connection carries an access field. If it reports {"policy": "methods", "methods": ["GET"]} the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.
Before a write
Creates, updates, deletes and sends land on a real ShipStation account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.
Actions
Labels
| Action |
Method |
Path |
Action id |
| Get a Label by ID |
GET |
/v2/labels/{{labelId}} |
conn_mod_def::GJ7FJdhP62Q::z-94ebCJRTCKd2AjUOTxIw |
| Get a Label’s Tracking Information |
GET |
/v2/labels/{{labelId}}/track |
conn_mod_def::GJ7FJdWMb30::5lyopo5xQhCMcsxGodlBUQ |
| List Labels |
GET |
/labels |
conn_mod_def::GJ7FJgS2YaI::_d8TdT0eT0-BSY779I9IYA |
| Create a Return Label for an Outbound Label |
POST |
/v2/labels/{{labelId}}/return |
conn_mod_def::GJ7FJfmTftY::dmRY43kEQdCdwQXkkfHtIA |
| Purchase a Label for a Shipment |
POST |
/v2/labels/shipment/{{shipmentId}} |
conn_mod_def::GJ7FJn2GZ0c::6-Xod-p3RQemJ7sY1fHRQA |
| Purchase a Label Using Rate Shopper Strategy |
POST |
/v2/labels/rate_shopper_id/{{rateShopperId}} |
conn_mod_def::GJ7FJpod5_0::GAotwufsRxetAzkT09H8xQ |
| Purchase a Shipping Label |
POST |
/labels |
conn_mod_def::GJ7FJdGIztQ::2H2UM95tRiOUqz0u90fwzA |
| Purchase a Shipping Label From a Rate |
POST |
/v2/labels/rates/{{rateId}} |
conn_mod_def::GJ7FJnJUEig::BhqZxhhGTIKDnqog3iH0TQ |
| Void a Label |
PUT |
/v2/labels/{{labelId}}/void |
conn_mod_def::GJ7FJmR-GaE::q-DmimQCQEKkJWcGJN0s4g |
Batches
| Action |
Method |
Path |
Action id |
| Get a Batch by External Batch ID |
GET |
/v2/batches/external_batch_id/{{externalBatchId}} |
conn_mod_def::GJ7FICzN_Y8::u5VpYIivT4WeApO9rKibJw |
| Get a Batch by ID |
GET |
/v2/batches/{{batchId}} |
conn_mod_def::GJ7FIAdtf7c::3ACMlKfyTnqIzLF5lYOqZg |
| List Batches |
GET |
/batches |
conn_mod_def::GJ7FILNFyDs::d07s7lUiTH2r_5DZj_XmNw |
| Add a Shipment or Rate to a Batch |
POST |
/v2/batches/{{batchId}}/add |
conn_mod_def::GJ7FIAgn3K0::A89CkY-3Tc6MzQm7z_kwNw |
| Archive a Batch by ID |
PUT |
/v2/batches/{{batchId}} |
conn_mod_def::GJ7FIJN8GxA::u4gzJjYCQc2FdTEKQX-E6g |
| Create a Batch (v2) |
POST |
/v2/batches |
conn_mod_def::GJ7FIA3XO_M::k0sWTdozQVKZ-Amd0fos9w |
| Delete a Batch by ID |
DELETE |
/v2/batches/{{batchId}} |
conn_mod_def::GJ7FIA7oP4M::QfWGZcd9TbGX5D8PLR8rVw |
| Process a Batch’s Shipment Labels |
POST |
/v2/batches/{{batchId}}/process/labels |
conn_mod_def::GJ7FIJXWCmk::LyBW1WQSTlej1muZAfhNWQ |
| Remove Shipments or Rates From a Batch |
POST |
/v2/batches/{{batchId}}/remove |
conn_mod_def::GJ7FIKWiIOo::B9xH6bFDR_Gr77YtlXmU_A |
Shipments
| Action |
Method |
Path |
Action id |
| Get a Shipment by External Shipment ID |
GET |
/v2/shipments/external_shipment_id/{{externalShipmentId}} |
conn_mod_def::GJ7FKQKTi7I::8cNE9nJcQGyvVTknJ-N2UA |
| Get a Shipment by ID |
GET |
/v2/shipments/{{shipmentId}} |
conn_mod_def::GJ7FKSknxoc::6wf0bPbVQEi4RvTqJdjKiw |
| List a Shipment’s Rates |
GET |
/v2/shipments/{{shipmentId}}/rates |
conn_mod_def::GJ7FKZM--Wk::CoF1e_8yT665RDJkYJCwcA |
| List Shipments |
GET |
/shipments |
conn_mod_def::GJ7FKfJV5XA::kxTBkLZWTISvYsbzvCqJLg |
| Add a Tag to a Shipment |
POST |
/v2/shipments/{{shipmentId}}/tags/{{tagName}} |
conn_mod_def::GJ7FKQLhH7E::8qeyilULR-2W5dRdVJaEpA |
| Cancel a Shipment |
PUT |
/v2/shipments/{{shipmentId}}/cancel |
conn_mod_def::GJ7FKSFBkrQ::f-5WHHfASZ2IR3usSFA_og |
| Create Shipments |
POST |
/v2/shipments |
conn_mod_def::GJ7FKPfqwpA::4oY-QMMfQYuIHenJjCFicg |
| Remove a Tag from a Shipment |
DELETE |
/v2/shipments/{{shipmentId}}/tags/{{tagName}} |
conn_mod_def::GJ7FKY_-gfY::HZEhgcj3Q_SVh9j1dwVP7w |
Packages
| Action |
Method |
Path |
Action id |
| Get a Custom Package Type by ID |
GET |
/v2/packages/{{packageId}} |
conn_mod_def::GJ7FJ8u98t0::QAUV9TENScy3GUm2nidyMQ |
| List Custom Package Types |
GET |
/v2/packages |
conn_mod_def::GJ7FJ7hviTQ::L535s86HQaq2PDReSrmwFA |
| Create a Custom Package Type |
POST |
/packages |
conn_mod_def::GJ7FJ6odF4A::N0NazYX7RKi5XwZq4nE8PA |
| Delete a Custom Package |
DELETE |
/v2/packages/{{packageId}} |
conn_mod_def::GJ7FJ_Ig08s::DJgo4lxpQSWd6XsiCAAfnQ |
| Update a Custom Package Type by ID |
PUT |
/v2/packages/{{packageId}} |
conn_mod_def::GJ7FKGEZYoI::SIu8i6moTRmQClA3SxkK7Q |
Carriers
| Action |
Method |
Path |
Action id |
| Get a Carrier by ID |
GET |
/v2/carriers/{{carrierId}} |
conn_mod_def::GJ7FISQjBUs::pdfyrTgGTc6a7446f0RTaA |
| Get a Carrier's Options |
GET |
/v2/carriers/{{carrierId}}/options |
conn_mod_def::GJ7FIT2vJzk::OAVnX_anSgW5OgBOMiHfng |
| List a Carrier’s Package Types |
GET |
/carriers/{{carrierId}}/packages |
conn_mod_def::GJ7FIR4ERe8::lFJlInZ1QsGGKo_hKh5FPg |
| List a Carrier’s Services |
GET |
/v2/carriers/{{carrierId}}/services |
conn_mod_def::GJ7FIScFSho::9lGa-k3mSISkWdC-VBa5ew |
| List Carriers |
GET |
/carriers |
conn_mod_def::GJ7FIR9gsrQ::3F2nuhtvTOOZvXU8IXJoig |
InventoryWarehouses
| Action |
Method |
Path |
Action id |
| Get an Inventory Warehouse by ID |
GET |
/v2/inventory_warehouses/{{inventoryWarehouseId}} |
conn_mod_def::GJ7FIsFtb6g::vZVzZHnERpS7KLeXDsO5vA |
| List Inventory Warehouses |
GET |
/inventory_warehouses |
conn_mod_def::GJ7FJSXnayM::I8gGvaiQSf2hXnlknk1GzA |
| Create an Inventory Warehouse |
POST |
/inventory_warehouses |
conn_mod_def::GJ7FIes1GMU::9Ye3OCLBQouP5qIefYnyQA |
| Delete an Inventory Warehouse |
DELETE |
/v2/inventory_warehouses/{{inventoryWarehouseId}} |
conn_mod_def::GJ7FIrQiqRI::m0FxHY4ZRmKUK8-VremqLQ |
| Update an Inventory Warehouse’s Name |
PUT |
/v2/inventory_warehouses/{{inventoryWarehouseId}} |
conn_mod_def::GJ7FJSaRDs8::k3Ajtgx_TN6517Sk7rR0cg |
Totes
| Action |
Method |
Path |
Action id |
| Get a Tote by ID |
GET |
/v2/totes/{{toteId}} |
conn_mod_def::GJ7FKmry8ws::un9LJBglS_GrFT_ymik8wQ |
| List Totes |
GET |
/v2/totes |
conn_mod_def::GJ7FKnV9d04::3tpOvOmxRdSWTJX5s3-Iig |
| Create Totes in Batch |
POST |
/totes |
conn_mod_def::GJ7FKmGsZqQ::lJZXJcl8Q8qQiv94Axb19Q |
| Delete a Tote |
DELETE |
/v2/totes/{{toteId}} |
conn_mod_def::GJ7FKlsSmTU::XN5c2akeS3q2JpEJGrgabw |
| Update a Tote |
PUT |
/v2/totes/{{toteId}} |
conn_mod_def::GJ7FKw4VFb4::87B0rbuMQrqRRG_VRijg4w |
InventoryLocations
| Action |
Method |
Path |
Action id |
| Get an Inventory Location by ID |
GET |
/v2/inventory_locations/{{inventoryLocationId}} |
conn_mod_def::GJ7FIqNyulI::q69zfLkpRIqmhTsdwGCWIA |
| List Inventory Locations |
GET |
/inventory_locations |
conn_mod_def::GJ7FJJiahX4::psAJrGdnRaW5hRCs54dHgw |
| Create an Inventory Location |
POST |
/inventory_locations |
conn_mod_def::GJ7FIaDX0Cs::sAR6Cv9AQgqCqJXMEZuYtQ |
| Delete an Inventory Location |
DELETE |
/v2/inventory_locations/{{inventoryLocationId}} |
conn_mod_def::GJ7FIq5GYmY::tETSJowUT_y-xWX5tAYzdQ |
| Update an Inventory Location |
PUT |
/v2/inventory_locations/{{inventoryLocationId}} |
conn_mod_def::GJ7FJSunUyY::4a1plei1TaapaLrO4xDKyw |
Pickups
| Action |
Method |
Path |
Action id |
| Get Pickup by ID |
GET |
/v2/pickups/{{pickupId}} |
conn_mod_def::GJ7FJwUDEA8::t70vwjf7Rg6fwLCpfLpgsw |
| List Scheduled Pickups |
GET |
/pickups |
conn_mod_def::GJ7FJ0uggqE::P0QxEVXdTZa6ha0Ifxnsuw |
| Delete a Scheduled Pickup |
DELETE |
/v2/pickups/{{pickupId}} |
conn_mod_def::GJ7FJvzYHQQ::OoGM-ePLQcqZu6s9Xixcpw |
| Schedule a Pickup |
POST |
/pickups |
conn_mod_def::GJ7FJ6yFZzM::uO7ZW0zeQ1i1KotQkIaoKA |
EnvironmentWebhooks
| Action |
Method |
Path |
Action id |
| Get a Webhook by ID |
GET |
/v2/environment/webhooks/{{webhookId}} |
conn_mod_def::GJ7FK3yu_1k::vQxS_g9hTEiyaxwAGSE1dw |
| Create an Environment Webhook |
POST |
/environment/webhooks |
conn_mod_def::GJ7FK6_0SOA::ptyxG47sReixvSaAgE_kzg |
| Delete an Environment Webhook |
DELETE |
/v2/environment/webhooks/{{webhookId}} |
conn_mod_def::GJ7FK3oNxe0::MgRTWiZERBC9sq2Jt231TA |
| Update an Environment Webhook |
PUT |
/v2/environment/webhooks/{{webhookId}} |
conn_mod_def::GJ7FK3myf0c::3X6a9_4TQzCDRia9uDv52Q |
Rates
| Action |
Method |
Path |
Action id |
| Get a Rate by ID |
GET |
/v2/rates/{{rateId}} |
conn_mod_def::GJ7FKHIMxDI::lOjKNqVwSTOmgOUpytpiiA |
| Calculate Shipping Rates |
POST |
/rates |
conn_mod_def::GJ7FKGsrukc::wJhOZw4PQWWekfm0fKGbrA |
| Estimate Shipping Rates |
POST |
/rates/estimate |
conn_mod_def::GJ7FKGZMmwo::t2fPjczbTwqwYPysVjaJWA |
Manifests
| Action |
Method |
Path |
Action id |
| Get a Manifest by ID |
GET |
/v2/manifests/{{manifestId}} |
conn_mod_def::GJ7FJxc7It8::vx5SZXl9TyKaSQF-Z4MsKg |
| List Manifests |
GET |
/manifests |
conn_mod_def::GJ7FJyUx6eI::Qi6XuHV6Rba5yKRlg5rTTw |
| Create Manifest |
POST |
/manifests |
conn_mod_def::GJ7FJm_sbeg::wZoleyxvQR2LCk7aYhcJiA |
Tags
| Action |
Method |
Path |
Action id |
| List Tags |
GET |
/tags |
conn_mod_def::GJ7FKYc9uJs::AVM4XlUgS2WK8SODHEzyVw |
| Create a Tag |
POST |
/v2/tags/{{tagName}} |
conn_mod_def::GJ7FKZQLvHI::x8X7fmhPR1aqz1ibtlGkrg |
Warehouses
| Action |
Method |
Path |
Action id |
| Get a Warehouse by ID |
GET |
/v2/warehouses/{{warehouseId}} |
conn_mod_def::GJ7FKxCsapU::Z2Rg04IxSomhRO-gz_84fg |
| List Warehouses |
GET |
/warehouses |
conn_mod_def::GJ7FKvHWT74::ZfpfeGI2TXOl4hRDuqy9NA |
Fulfillments
| Action |
Method |
Path |
Action id |
| List Fulfillments |
GET |
/v2/fulfillments |
conn_mod_def::GJ7FIfwCrRY::rt4EJTeeTeOyjtRYOmnFmA |
| Create Fulfillments |
POST |
/v2/fulfillments |
conn_mod_def::GJ7FIj2K1t8::eBrqZV6lRHeMvDf9-4G1KA |
Inventory
| Action |
Method |
Path |
Action id |
| List Inventory Levels for SKUs |
GET |
/inventory |
conn_mod_def::GJ7FJWj9eiU::p6elIvicQ8KwwSY-sL3scA |
| Update SKU Stock Levels |
POST |
/inventory |
conn_mod_def::GJ7FJRt7_Pw::JYiybIomQWa6vi_CVFYSfw |
Products
| Action |
Method |
Path |
Action id |
| List Products |
GET |
/products |
conn_mod_def::GJ7FKI5pEgs::WVas1r1DREWt3fUqBrTa-g |
Users
| Action |
Method |
Path |
Action id |
| List Users |
GET |
/users |
conn_mod_def::GJ7FKu9NMKI::8G8DAtGhSTy43fPee6eWPA |
BatchErrors
| Action |
Method |
Path |
Action id |
| List a Batch’s Errors |
GET |
/v2/batches/{{batchId}}/errors |
conn_mod_def::GJ7FIJ2ddu8::ax4ZuZAfQouSU0_ChhR-OQ |
Downloads
| Action |
Method |
Path |
Action id |
| Download a Shipment Document File |
GET |
/v2/downloads/{{dir}}/{{subdir}}/{{filename}} |
conn_mod_def::GJ7FIa_kB9g::NX57hx8MQHeBZfq9CuW2vQ |
Tracking
| Action |
Method |
Path |
Action id |
| Stop Tracking a Package |
POST |
/v2/tracking/stop |
conn_mod_def::GJ7FKw9K4Os::579joKCjS6ODk1Rj0geJHA |
ToteQuantities
| Action |
Method |
Path |
Action id |
| Get Tote Quantities |
GET |
/totes/quantities |
conn_mod_def::GJ7FKoe9mCc::azsQK-i2TEWDzhClKAXFZA |
Webhooks
| Action |
Method |
Path |
Action id |
| List Webhooks |
GET |
/environment/webhooks |
conn_mod_def::GJ7FK66lkvQ::Ya0LVAkoQQWJVRB4pOmAGw |
When a call fails
The error comes from ShipStation, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.
Full catalog: https://www.withone.ai/knowledge/ship-station
Integration knowledge by One (withone.ai), licensed under One-Knowledge-1.0. Attribution must be preserved in derivative works.