Read Starshipit orders, tracking, rates and manifests; create and update unshipped orders.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: add up to 10 tags to ONE UNSHIPPED order (read first; refused if printed or shipped) (a tag that does not exist yet is created). Tags are used for filtering and can drive the account's automation rules. Adding a tag the order already has changes nothing. Tags are not removed. POST /api/tags/order.
Tag names to add (1-10).
Starshipit order id.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE: add up to 10 tags to ONE UNSHIPPED order (read first; refused if printed or shipped) (a tag that does not exist yet is created). Tags are used for filtering and can drive the account's automation rules. Adding a tag the order already has changes nothing. Tags are not removed. POST /api/tags/order.
| Argument | Type | Description |
|---|---|---|
| tags* | array | Tag names to add (1-10). |
| order_id* | integer | Starshipit order id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_id",
"tags"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"maxItems": 10,
"minItems": 1,
"description": "Tag names to add (1-10)."
},
"order_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Starshipit order id.",
"exclusiveMinimum": 0
}
}
}WRITE: create ONE new UNSHIPPED order in Starshipit (order number, destination, optional items, parcels, sender). No label is printed, no shipment is booked and no postage is bought; staff still print the label in Starshipit. Not idempotent: creating the same order_number twice may create a duplicate, so check with starshipit_search_orders first. Starshipit rules configured in the account (carrier selection, validation) may run on the new order. POST /api/orders.
| Argument | Type | Description |
|---|---|---|
| items | array | |
| carrier | string | Starshipit carrier code, e.g. AusPost (optional; rules may choose one). |
| currency | string | Currency code of the item values, e.g. AUD. |
| packages | array | |
| reference | string | Customer reference (max 50 chars). |
| destination* | object | |
| order_number* | string | Order number from the source system (max 50 chars). |
| return_order | boolean | true = a return order (only the return label will be generated later). |
| sender_details | object | Sender; omitted = the account's pickup address. |
| shipping_method | string | Delivery method name, e.g. Express Shipping. |
| signature_required | boolean | |
| carrier_service_code | string | Carrier service code from a rates quote, e.g. 7B05. |
One order by Starshipit order_id or by the order_number from the source platform. Use include to add sections (Items, Packages, Events, Metadatas, Shipping_Price, ...). Status defaults to Unshipped in Starshipit, so pass status=Shipped or Printed for orders already printed. Label files are not returned. GET /api/orders?order_id= or ?order_number=.
| Argument | Type | Description |
|---|---|---|
| status | string | Order status to look in (Starshipit default: Unshipped). |
| include | array | Extra sections to include. |
| order_id | integer | Starshipit order id. |
| order_number | string | Order number from the source platform, e.g. #1234. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"status": {
"enum": [
"Unshipped",
"Shipped",
"Printed"
],
"type": "string",
"description": "Order status to look in (Starshipit default: Unshipped)."
},
"include": {
"type": "array",
"items": {
"enum": [
"Account_Summary",
"Shipment_Attributes",
"Sender_Details",
"Destination",
"Items",
"Packages",
"Metadatas",
"Events",
"Shipping_Price"
],
"type": "string"
},
"maxItems": 9,
"description": "Extra sections to include."
},
"order_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Starshipit order id.",
"exclusiveMinimum": 0
},
"order_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Order number from the source platform, e.g. #1234."
}
}
}QUOTE ONLY: shipping rates (service name, code, price) for a destination and parcels from the couriers enabled in the account. Nothing is purchased, created or printed. The sender defaults to the account's pickup address. Needs at least one enabled courier. POST /api/rates.
| Argument | Type | Description |
|---|---|---|
| sender | object | Sender address; omitted = the account's pickup address. |
| currency | string | Currency code for the order value, e.g. AUD. |
| packages* | array | The parcels (weight in kg, dimensions in metres). |
| destination* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destination",
"packages"
],
"properties": {
"sender": {
"type": "object",
"required": [
"country_code"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "2-letter country code, e.g. AU, NZ, US."
}
},
"description": "Sender address; omitted = the account's pickup address."
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Currency code for the order value, e.g. AUD."
},
"packages": {
"type": "array",
"items": {
"type": "object",
"required": [
"weight"
],
"properties": {
"width": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Width in metres."
},
"height": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Height in metres."
},
"length": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Length in metres."
},
"weight": {
"type": "number",
"maximum": 100000,
"description": "Parcel weight in kg.",
"exclusiveMinimum": 0
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "The parcels (weight in kg, dimensions in metres)."
},
"destination": {
"type": "object",
"required": [
"country_code"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "2-letter country code, e.g. AU, NZ, US."
}
}
}
}
}List contacts in the account's address book (name, company, address, phone, email), sorted by a column. GET /api/addressbook/filtered.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | |
| page_size | integer | Contacts per page, 1-250 (default 50). |
| sort_direction | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"None",
"Name",
"Company",
"Street",
"Suburb",
"PostCode",
"City",
"State",
"Country",
"Code",
"Phone",
"Email"
],
"type": "string"
},
"page_size": {
"type": "integer",
"maximum": 250,
"description": "Contacts per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"sort_direction": {
"enum": [
"None",
"Ascending",
"Descending"
],
"type": "string"
}
}
}List delivered orders that carry a given order reference (the customer reference), with full order details. GET /api/orders/delivered.
| Argument | Type | Description |
|---|---|---|
| order_ref* | string | The order reference to look for. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_ref"
],
"properties": {
"order_ref": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The order reference to look for."
}
}
}QUOTE ONLY: the carrier delivery services available for a shipment (carrier, service name and code) and, with include_pricing, their prices and service options. Nothing is purchased, created or printed. POST /api/deliveryservices.
| Argument | Type | Description |
|---|---|---|
| sender | object | Sender address; omitted = the account's pickup address. |
| packages* | array | The parcels (weight in kg, dimensions in metres). |
| destination* | object | |
| return_order | boolean | |
| declared_value | number | Value of the shipment. |
| dangerous_goods | boolean | |
| include_pricing | boolean | Return prices (default false). |
| insurance_value | number | |
| authority_to_leave | boolean |
List manifests already submitted to carriers (newest first): number, date, carrier, package and consignment counts. Read only; manifesting is not available here. GET /api/manifests.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| limit | integer | Results per page, 1-250 (default 50). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"limit": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
}
}
}List full order details for one status (Unshipped by default, or Shipped / Printed), narrowed by a filter such as `Order:::1419,Country:::Australia` and sorted. Heavier than the summary: use starshipit_orders_summary for overviews. Label files are not returned. GET /api/orders (no id).
| Argument | Type | Description |
|---|---|---|
| filter | string | Filter string COLUMN:::VALUE, several separated by commas, e.g. `Order:::1419,State:::NSW` or `Source:::Shopify`. Columns: Order, Name, Address (valid), Date (>=MAY 2024), Source, State, Country, Carrier, Service, Status, SKU, SingleSKU, Writeback, Weight (>=5), ShippingMethod, ShippingDescription, Tag. Prefix a column with ! to negate (!Country:::Australia). |
| status | string | Order status (default Unshipped). |
| include | array | Extra sections to include. |
| page_size | integer | Results per page, 1-100 (default 25). |
| page_number | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort_column | string | |
| sort_direction | string |
List courier pickups already booked for the account. Read only; booking a pickup is not available here. GET /api/pickup.
| Argument | Type | Description |
|---|---|---|
| page_size | integer | Pickups per page, 1-250 (default 50). |
| page_number | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page_size": {
"type": "integer",
"maximum": 250,
"description": "Pickups per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"page_number": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
}
}
}List orders whose label was recently printed, or printed but not yet manifested, with tracking numbers. GET /api/orders/shipments.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| limit | integer | Results per page, 1-250 (default 50). |
| status | string | Which shipments to list (default recently_printed). |
| since_created_date | string | Only shipments created after this UTC date-time (RFC 3339). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"limit": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"status": {
"enum": [
"recently_printed",
"unmanifested"
],
"type": "string",
"description": "Which shipments to list (default recently_printed)."
},
"since_created_date": {
"type": "string",
"description": "Only shipments created after this UTC date-time (RFC 3339)."
}
}
}List Product Catalogue records (SKU, title, weight, dimensions, HS code, bin location, price), optionally searching by SKU or title. GET /api/products.
| Argument | Type | Description |
|---|---|---|
| page_size | integer | Products per page, 1-250 (default 50). |
| page_number | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| search_term | string | Search text for SKU or title. |
| sort_column | string | Column to sort by (default Sku). |
| sort_direction | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page_size": {
"type": "integer",
"maximum": 250,
"description": "Products per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"page_number": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"search_term": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Search text for SKU or title."
},
"sort_column": {
"type": "string",
"pattern": "^[A-Za-z_]{1,30}$",
"description": "Column to sort by (default Sku)."
},
"sort_direction": {
"enum": [
"Ascending",
"Descending"
],
"type": "string"
}
}
}List shipped orders (label printed) with tracking number, tracking status, carrier, manifest and shipped date. By default only orders updated in the last 24 hours; use since_last_updated to look further back. Label files are not returned. GET /api/orders/shipped.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| limit | integer | Results per page, 1-250 (default 50). |
| ids_only | boolean | Return only the shipped order ids. |
| since_last_updated | string | Only orders updated after this UTC date-time (RFC 3339). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"limit": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"ids_only": {
"type": "boolean",
"description": "Return only the shipped order ids."
},
"since_last_updated": {
"type": "string",
"description": "Only orders updated after this UTC date-time (RFC 3339)."
}
}
}List the account's user-defined order tags, optionally filtered by tag name. GET /api/tags.
| Argument | Type | Description |
|---|---|---|
| filter | string | Tag-name filter. |
| page_size | integer | Tags per page, 1-250 (default 50). |
| page_number | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filter": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Tag-name filter."
},
"page_size": {
"type": "integer",
"maximum": 250,
"description": "Tags per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"page_number": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
}
}
}List unshipped (new, not yet printed) orders with full details: addresses, items, packages, carrier. By default only orders updated in the last 24 hours; use since_order_date / since_last_updated to look further back. ids_only=true returns just the order ids. GET /api/orders/unshipped.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| limit | integer | Results per page, 1-250 (default 50). |
| ids_only | boolean | Return only the unshipped order ids. |
| since_order_date | string | Only orders created after this UTC date-time (RFC 3339). |
| since_last_updated | string | Only orders updated after this UTC date-time (RFC 3339). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"limit": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"ids_only": {
"type": "boolean",
"description": "Return only the unshipped order ids."
},
"since_order_date": {
"type": "string",
"description": "Only orders created after this UTC date-time (RFC 3339)."
},
"since_last_updated": {
"type": "string",
"description": "Only orders updated after this UTC date-time (RFC 3339)."
}
}
}A compact list of orders in one status (new, printed, shipped, archived) with contact, country, carrier, weight, manifest and dates, plus account-wide counts (unprinted, printed, shipped, archived, invalid addresses, returns). Supports filters and sorting. GET /api/orders/summary.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| sort | string | Column to sort by. |
| filter | string | Filter string COLUMN:::VALUE, several separated by commas, e.g. `Order:::1419,State:::NSW` or `Source:::Shopify`. Columns: Order, Name, Address (valid), Date (>=MAY 2024), Source, State, Country, Carrier, Service, Status, SKU, SingleSKU, Writeback, Weight (>=5), ShippingMethod, ShippingDescription, Tag. Prefix a column with ! to negate (!Country:::Australia). |
| page_size | integer | Results per page, 1-500 (default 50). |
| order_status* | string | Which orders to summarize. |
| sort_direction | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_status"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort": {
"enum": [
"Address",
"Carrier",
"Name",
"Country",
"Date",
"Items",
"Manifest",
"Order",
"Product",
"Quantity",
"ShippedDate",
"ShippingDescription",
"ShippingMethod",
"SKU",
"StockOnHand",
"Platform",
"State",
"Status",
"Weight",
"Writeback"
],
"type": "string",
"description": "Column to sort by."
},
"filter": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Filter string COLUMN:::VALUE, several separated by commas, e.g. `Order:::1419,State:::NSW` or `Source:::Shopify`. Columns: Order, Name, Address (valid), Date (>=MAY 2024), Source, State, Country, Carrier, Service, Status, SKU, SingleSKU, Writeback, Weight (>=5), ShippingMethod, ShippingDescription, Tag. Prefix a column with ! to negate (!Country:::Australia)."
},
"page_size": {
"type": "integer",
"maximum": 500,
"description": "Results per page, 1-500 (default 50).",
"exclusiveMinimum": 0
},
"order_status": {
"enum": [
"new",
"shipped",
"printed",
"archived"
],
"type": "string",
"description": "Which orders to summarize."
},
"sort_direction": {
"enum": [
"Ascending",
"Descending"
],
"type": "string"
}
}
}Search orders by order number, tracking number, customer reference or recipient name (phrase), optionally limited to unshipped or shipped orders. Returns id, number, date, name, carrier, tracking number and country. GET /api/orders/search.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 (default 1). Pass the previous reply's next_page. |
| limit | integer | Results per page, 1-250 (default 50). |
| fields | string | Which field to search (default All: order number, tracking number, reference, name). |
| phrase* | string | Search text, e.g. a name, order number or tracking number. |
| status | string | Limit to unshipped or shipped orders (default All). |
| include_child_accounts | boolean | Also search child accounts. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"phrase"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"limit": {
"type": "integer",
"maximum": 250,
"description": "Results per page, 1-250 (default 50).",
"exclusiveMinimum": 0
},
"fields": {
"enum": [
"All",
"Order_Number",
"TheirRef"
],
"type": "string",
"description": "Which field to search (default All: order number, tracking number, reference, name)."
},
"phrase": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Search text, e.g. a name, order number or tracking number."
},
"status": {
"enum": [
"All",
"Unshipped",
"Shipped"
],
"type": "string",
"description": "Limit to unshipped or shipped orders (default All)."
},
"include_child_accounts": {
"type": "boolean",
"description": "Also search child accounts."
}
}
}Tracking details for a shipped order, by tracking number or by order number: status, carrier, tracking URL, shipment date and the carrier's tracking events. GET /api/track.
| Argument | Type | Description |
|---|---|---|
| order_number | string | Order number from the source platform. |
| tracking_number | string | Carrier tracking number. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"order_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Order number from the source platform."
},
"tracking_number": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Carrier tracking number."
}
}
}WRITE: change details of ONE UNSHIPPED order by order_id (the order is read first and refused if it is already printed or shipped): addresses, shipping method/carrier/service, items, packages, reference or an internal note. This tool never sends status or manifest flags. It does not print a label or buy postage. Items/packages: include item_id / package_id (from starshipit_get_order with include=Items,Packages) to modify an existing line; a line without an id may be added. Nothing is deleted. Send only the fields you want to change. PUT /api/orders.
| Argument | Type | Description |
|---|---|---|
| note | string | Internal order note. |
| items | array | |
| carrier | string | Starshipit carrier code, e.g. AusPost. |
| currency | string | |
| order_id* | integer | Starshipit order id. |
| packages | array | |
| reference | string | |
| destination | object | |
| shipping_description |
| string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_number",
"destination"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sku": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"value": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Unit price."
},
"weight": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "Unit weight in kg."
},
"barcode": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"quantity": {
"type": "number",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"description": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Product name or description."
},
"tariff_code": {
"type": "string",
"maxLength": 18,
"minLength": 1,
"description": "Harmonized system (HS) code."
},
"country_of_origin": {
"type": "string",
"maxLength": 50,
"minLength": 1
}
}
},
"maxItems": 100
},
"carrier": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Starshipit carrier code, e.g. AusPost (optional; rules may choose one)."
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Currency code of the item values, e.g. AUD."
},
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"width": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Width in metres."
},
"height": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Height in metres."
},
"length": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Length in metres."
},
"weight": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "Parcel weight in kg."
}
}
},
"maxItems": 50
},
"reference": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Customer reference (max 50 chars)."
},
"destination": {
"type": "object",
"required": [
"name",
"street",
"country"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Contact name."
},
"email": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"phone": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"country": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Country name, e.g. Australia."
},
"building": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"delivery_instructions": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Instructions for the courier (max 100 chars)."
}
}
},
"order_number": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Order number from the source system (max 50 chars)."
},
"return_order": {
"type": "boolean",
"description": "true = a return order (only the return label will be generated later)."
},
"sender_details": {
"type": "object",
"required": [
"name",
"street",
"country"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Contact name."
},
"email": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"phone": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"country": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Country name, e.g. Australia."
},
"building": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
}
},
"description": "Sender; omitted = the account's pickup address."
},
"shipping_method": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Delivery method name, e.g. Express Shipping."
},
"signature_required": {
"type": "boolean"
},
"carrier_service_code": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Carrier service code from a rates quote, e.g. 7B05."
},
"shipping_description": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}| signature_required | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destination",
"packages"
],
"properties": {
"sender": {
"type": "object",
"required": [
"country_code"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "2-letter country code, e.g. AU, NZ, US."
}
},
"description": "Sender address; omitted = the account's pickup address."
},
"packages": {
"type": "array",
"items": {
"type": "object",
"required": [
"weight"
],
"properties": {
"width": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Width in metres."
},
"height": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Height in metres."
},
"length": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Length in metres."
},
"weight": {
"type": "number",
"maximum": 100000,
"description": "Parcel weight in kg.",
"exclusiveMinimum": 0
}
}
},
"maxItems": 20,
"minItems": 1,
"description": "The parcels (weight in kg, dimensions in metres)."
},
"destination": {
"type": "object",
"required": [
"country_code"
],
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "2-letter country code, e.g. AU, NZ, US."
}
}
},
"return_order": {
"type": "boolean"
},
"declared_value": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Value of the shipment."
},
"dangerous_goods": {
"type": "boolean"
},
"include_pricing": {
"type": "boolean",
"description": "Return prices (default false)."
},
"insurance_value": {
"type": "number",
"maximum": 100000000,
"minimum": 0
},
"authority_to_leave": {
"type": "boolean"
},
"signature_required": {
"type": "boolean"
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"filter": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Filter string COLUMN:::VALUE, several separated by commas, e.g. `Order:::1419,State:::NSW` or `Source:::Shopify`. Columns: Order, Name, Address (valid), Date (>=MAY 2024), Source, State, Country, Carrier, Service, Status, SKU, SingleSKU, Writeback, Weight (>=5), ShippingMethod, ShippingDescription, Tag. Prefix a column with ! to negate (!Country:::Australia)."
},
"status": {
"enum": [
"Unshipped",
"Shipped",
"Printed"
],
"type": "string",
"description": "Order status (default Unshipped)."
},
"include": {
"type": "array",
"items": {
"enum": [
"Account_Summary",
"Shipment_Attributes",
"Sender_Details",
"Destination",
"Items",
"Packages",
"Metadatas",
"Events",
"Shipping_Price"
],
"type": "string"
},
"maxItems": 9,
"description": "Extra sections to include."
},
"page_size": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"page_number": {
"type": "integer",
"maximum": 100000,
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"exclusiveMinimum": 0
},
"sort_column": {
"enum": [
"Address",
"Carrier",
"Name",
"Country",
"Date",
"Items",
"Manifest",
"Order",
"Product",
"Quantity",
"ShippedDate",
"ShippingDescription",
"ShippingMethod",
"SKU",
"StockOnHand",
"Platform",
"State",
"Status",
"Weight",
"Writeback"
],
"type": "string"
},
"sort_direction": {
"enum": [
"Ascending",
"Descending"
],
"type": "string"
}
}
}| order_number |
| string |
| sender_details | object |
| shipping_method | string |
| signature_required | boolean |
| carrier_service_code | string |
| shipping_description | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_id"
],
"properties": {
"note": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Internal order note."
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sku": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"value": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Unit price."
},
"weight": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "Unit weight in kg."
},
"barcode": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"item_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Existing item id to modify.",
"exclusiveMinimum": 0
},
"quantity": {
"type": "number",
"maximum": 1000000,
"exclusiveMinimum": 0
},
"description": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Product name or description."
},
"tariff_code": {
"type": "string",
"maxLength": 18,
"minLength": 1,
"description": "Harmonized system (HS) code."
},
"quantity_to_ship": {
"type": "number",
"maximum": 1000000,
"minimum": 0
},
"country_of_origin": {
"type": "string",
"maxLength": 50,
"minLength": 1
}
}
},
"maxItems": 100
},
"carrier": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Starshipit carrier code, e.g. AusPost."
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"order_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Starshipit order id.",
"exclusiveMinimum": 0
},
"packages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"width": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Width in metres."
},
"height": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Height in metres."
},
"length": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Length in metres."
},
"weight": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "Parcel weight in kg."
},
"package_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Existing package id to modify.",
"exclusiveMinimum": 0
},
"packaging_type": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "e.g. Carton, Box, Envelope, Jiffy, Pallet, Satchel, Bag."
}
}
},
"maxItems": 50
},
"reference": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"destination": {
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Contact name."
},
"email": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"phone": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"country": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Country name, e.g. Australia."
},
"building": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"delivery_instructions": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
},
"order_number": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"sender_details": {
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Contact name."
},
"email": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"phone": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"state": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"street": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"suburb": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"country": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Country name, e.g. Australia."
},
"building": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"post_code": {
"type": "string",
"maxLength": 10,
"minLength": 1
},
"delivery_instructions": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
},
"shipping_method": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"signature_required": {
"type": "boolean"
},
"carrier_service_code": {
"type": "string",
"maxLength": 50,
"minLength": 1
},
"shipping_description": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}