shipcloud_get_account
Get account
The shipcloud user behind this API key: id, email, customer number, plan, and the ENVIRONMENT of the key (production = real labels and charges, sandbox = free test labels). Check this before creating labels. GET /me.
Takes no parameters.
shipcloud_list_carriers
List carriers
The carriers this account can use, each with its services, package types, additional services and label formats per service. Use the values when creating shipments. GET /carriers.
Takes no parameters.
shipcloud_get_default_address
Get a default address
One of the account's saved default addresses: shipping (the default sender), returns (the default recipient of return shipments) or invoice (the invoice address). GET /default_shipping_address, /default_returns_address or /invoice_address.
Parameterskindrequired
shipcloud_list_shipments
List shipments
List shipments (newest first as shipcloud returns them) with carrier, service, price, tracking number, tracking URL, label URL, addresses and tracking events. Filters can be combined. Paged: pass the previous reply's next_page. shipcloud sends no totals, so next_page is a guess (a full page suggests more). GET /shipments.
Parameterspagesourcecarrierserviceper_pagecreated_aftershipment_typecreated_beforetracking_statusreference_numbercarrier_tracking_notracking_status_not+1 more
shipcloud_get_shipment
Get shipment
One shipment by id: addresses, packages with tracking events, price, label URL, tracking URL. Sandbox shipments have no tracking events and price 0. GET /shipments/{id}.
Parametersshipment_idrequired
shipcloud_get_shipment_quote
Quote a shipment price
What shipcloud would charge for a shipment (price in EUR excl. VAT). Read-only: nothing is created and nothing is charged. Only works for carrier contracts owned by shipcloud. Use it before shipcloud_create_shipment_with_label. POST /shipment_quotes.
Parameterstorequiredfromcarrierrequiredservicerequiredpackagesrequired
shipcloud_create_prepared_shipment
Create a prepared shipment (no label)
WRITE: save a shipment in shipcloud WITHOUT buying a label (create_shipping_label=false). Nothing is charged and no carrier is contacted; a prepared shipment can be deleted any time. Returns the shipment id. To buy the label use shipcloud_create_shipment_with_label. POST /shipments.
Parameterstorequiredfromcarrierrequiredservicepackagesrequireddescriptionlabel_formatreference_numbernotification_email
shipcloud_create_shipment_with_label
Buy a shipping label (costs money)
WRITE, COSTS MONEY: create a shipment AND buy its shipping label at the carrier (create_shipping_label=true). With a LIVE key this charges the shipcloud account (price in EUR excl. VAT; get it first from shipcloud_get_shipment_quote) and creates a real label; with the sandbox key it is free and fake. A label can only be cancelled before the carrier's cut-off (about 17:00-20:00) with shipcloud_delete_shipment. The request is sent ONCE and never retried: if it times out or fails with a server error, the label may still exist, so check shipcloud_list_shipments with the same reference_number before trying again. An existing-label lookup and same-instance guard reduce duplicates but are not atomic or global: simultaneous requests across Worker instances can buy duplicate labels. Serialize purchases for each reference and check shipcloud after an uncertain result. Requires confirm=true after the user agreed to the purchase; give a unique reference_number. Shipments needing customs papers are not supported here. POST /shipments.
Parameterstorequiredfromcarrierrequiredconfirmrequiredservicepackagesrequireddescriptionlabel_formatreference_numberrequirednotification_email
shipcloud_delete_shipment
Delete a shipment / cancel its label
WRITE, DESTRUCTIVE: delete a shipment. A prepared shipment (no label) can be deleted any time. For a shipment with a label, shipcloud cancels the label only before the carrier's cut-off (about 17:00-20:00); afterwards it fails. Cannot be undone. Requires confirm=true after the user agreed. DELETE /shipments/{id}.
Parametersconfirmrequiredshipment_idrequired
shipcloud_list_trackers
List trackers
List trackers: shipments created OUTSIDE shipcloud that shipcloud tracks by the carrier's tracking number (only for your own carrier contracts), with status and tracking events. GET /trackers.
Takes no parameters.
shipcloud_get_tracker
Get tracker
One tracker by id, with status and tracking events. GET /trackers/{id}.
Parameterstracker_idrequired
shipcloud_create_tracker
Track a shipment by its tracking number
WRITE: have shipcloud track a parcel that was NOT created with shipcloud, by the carrier's tracking number (only for your own carrier contracts; carriers dhl, dpd, gls, ups). Creates a tracker; no label, no shipping charge. POST /trackers.
Parameterscarrierrequirednotification_emailcarrier_tracking_norequired
shipcloud_list_pickup_requests
List pickup requests
List carrier pickup requests with carrier, pickup time window, address and the shipments included. GET /pickup_requests.
Takes no parameters.
shipcloud_get_pickup_request
Get pickup request
One pickup request by id. GET /pickup_requests/{id}.
Parameterspickup_request_idrequired
shipcloud_create_pickup_request
Request a carrier pickup
WRITE: order a carrier (dpd, gls, hermes or ups) to pick up parcels at an address in a time window. A real request goes to the carrier and cannot be cancelled through this server; carriers may bill pickups. Without `shipment_ids` the carrier collects all shipments not yet picked up; return shipments cannot be picked up. Requires confirm=true after the user agreed. POST /pickup_requests.
Parameterslatestrequiredcarrierrequiredconfirmrequiredearliestrequiredshipment_idspickup_addressrequired
shipcloud_find_dropoff_locations
Find pickup and drop-off points
Search a carrier's parcel shops, lockers and drop-off points near an address or coordinates (opening hours, distance). Give an address (street, zip_code, city, country) or latitude + longitude. GET /pickup_dropoff_locations.
Parameterscitylimitstateradiusstreetcountrycarriersrequiredlatitudezip_codelongitude
shipcloud_list_addresses
List saved addresses
List the address book (saved addresses with ids usable as `to` / `from`). Filter by any field. Paged. GET /addresses.
Parameterscitypagestreetcompanycountryper_pagezip_codelast_namefirst_name
shipcloud_get_address
Get saved address
One saved address by id. GET /addresses/{id}.
Parametersaddress_idrequired
shipcloud_create_address
Save an address
WRITE: save an address in the shipcloud address book (no shipment, no cost). Returns its id. It cannot be removed through this server. POST /addresses.
Parametersaddressrequired
shipcloud_list_orders
List orders
List orders sent to shipcloud (order data with line items, used by the Return Portal and linked to shipments by order_id). GET /orders.
Takes no parameters.
shipcloud_get_order
Get order
One order by id, with delivery address and line items. GET /orders/{id}.
Parametersorder_idrequired
shipcloud_list_webhooks
List webhooks
List the webhooks configured in the account: target URL, subscribed event types, deactivated flag. Credentials of a webhook are never shown. GET /webhooks.
Takes no parameters.