PGS360 API

Version 1.9

This API is designed to facilitate a range of business operations. All endpoints return responses in JSON format.

Authentication

The API uses Bearer token authentication with an expiration time of 60 minutes. You must generate a new token every 60 minutes using the /api/Security/Token endpoint.

Environments

EnvironmentBase URL
Productionhttps://api.pgs360.com/CustomerIntegrator
Testinghttps://apiqa.pgs360.com/CustomerIntegrator

Important Notes

  • Orders can only be updated when in Pending status. Any other status will result in no processing, with the reason recorded in the Msg field.
  • If at least one item fails, the entire order will not be processed. Check the Msg field per line for details.
  • Warehouse codes: PICO, FW, NJ, CM — default is set per client agreement.

B2B

POST/api/Outbound/B2B

Create a new B2B outbound order

Submits a new Business-to-Business (B2B) outbound order to PGS360 for warehouse fulfilment. The order instructs the warehouse to pick, pack, and ship goods to a retailer, distributor, or commercial consignee. The request must include at least one line item in `b2B_Item`. Each item must reference a SKU that has already been registered in the system via the SKU API. On success the API returns a `B2BDetailsLoadedResponse` containing the PGS internal order ID and a per-line confirmation of quantities loaded into the warehouse management system. Any line-level validation warnings are surfaced in the `msg` field of each detail item. **Authentication:** Bearer token obtained from `POST /api/Security/Token` must be included in the `Authorization` header.

Request Body

FieldTypeDescription
orderNorequiredstringYour unique order identifier for this B2B shipment. This is the primary key used in subsequent status queries, updates, and cancellations. Required; must be unique per customer account.
orderDaterequiredstringThe date of the order in `yyyy-MM-dd` format (e.g., `2024-03-15`). Required.
promiseDatestringThe promised delivery date to the consignee, in `yyyy-MM-dd` format. Optional; used for retailer compliance and warehouse scheduling.
divisionNostringDivision or business-unit code within the customer's account structure, as configured in PGS360. Optional; used for multi-division customer accounts.
customerNostringThe customer account number in PGS360. Optional; if omitted, the account associated with the authentication token is used.
billToNamestringName of the company or individual to be billed for this order. Appears on the invoice generated by the warehouse. Optional.
billToAddress1stringPrimary street line of the billing address. Optional.
billToAddress2stringSecondary line of the billing address (suite, floor, etc.). Optional.
billToAddress3stringTertiary line of the billing address (e.g., department or attention line). Optional.
billToCitystringCity of the billing address. Optional.
billToStatestringState or province code of the billing address (e.g., `CA`). Optional.
billToZipCodestringPostal or ZIP code of the billing address. Optional.
billToCountryCodestringCountry code of the billing address (ISO 3166-1 alpha-2 or alpha-3). Optional.
shipToNamerequiredstringName of the consignee or ship-to party (retailer, DC, or customer). Appears on shipping labels. Required.
shipToAddress1requiredstringPrimary street line of the ship-to address. Required.
shipToAddress2stringSecondary line of the ship-to address (suite, dock, etc.). Optional.
shipToAddress3stringTertiary line of the ship-to address. Optional.
shipToCityrequiredstringCity of the ship-to address. Required.
shipToStaterequiredstringState or province code of the ship-to address (e.g., `NY`). Required.
shipToZipCoderequiredstringPostal or ZIP code of the ship-to address. Required.
shipToCountryCoderequiredstringCountry code of the ship-to address (ISO 3166-1 alpha-2 or alpha-3, e.g., `US`, `CA`). Required.
emailAddressstringEmail address for shipping notifications or order communication. Optional.
phoneNumberstringPhone number for the ship-to contact or consignee. Used by carriers for delivery exception notifications. Optional.
shipViastringShipping method or carrier instruction code (e.g., `"UPS"`, `"FEDEX"`, `"LTL"`). May be overridden by `carrierName` and `freightType`. Optional.
commentstringFree-text comment or special instruction for the warehouse (e.g., `"Pallet labels required"`, `"Call before delivery"`). Optional.
salesTaxSchedulestringTax schedule code used for sales tax calculation on the invoice. Refer to your PGS360 account configuration for valid values. Optional.
salesTaxAmountstringSales tax amount to be applied to this order, expressed as a numeric string (e.g., `"12.50"`). Optional.
discountAmountstringDiscount amount applied to the order total, expressed as a numeric string. Optional.
freightAmountstringFreight charge amount billed to the customer, expressed as a numeric string. Optional.
masterOrderIDstringReference to a master or parent order that this order belongs to. Used for consolidation or multi-shipment order grouping. Optional.
customerIDstringAn alternate customer identifier used for cross-referencing with external systems. Optional.
regionIDstringRegion code used for routing, sales territory reporting, or carrier rate selection. Optional.
carrierNamestringName of the carrier to be used for this shipment (e.g., `"UPS"`, `"FedEx"`, `"XPO"`). Optional; if omitted, the warehouse will apply the default carrier for the account.
freightTypestringFreight payment type or billing terms (e.g., `"Prepaid"`, `"Collect"`, `"Third Party"`). Optional.
b2B_Itemrequiredarray[B2BRequest_Item]Array of line items to be fulfilled in this order. At least one item is required. Each item specifies a SKU and the quantity to ship.
isRewardsbooleanFlag indicating whether this order is part of a rewards or loyalty programme fulfilment. When `true`, the warehouse may apply specific handling procedures. Optional.
companyIDstringPGS360 company identifier used in multi-company deployments to route the order to the correct legal entity or billing account. Optional.
warehousestringCode of the specific PGS360 warehouse facility that should fulfil this order. If omitted, PGS360 will assign the default warehouse for the account. Optional.
isSmallParcelbooleanWhen `true`, instructs the warehouse to treat this order as a small parcel shipment (e.g., UPS/FedEx package) rather than an LTL or full-pallet B2B shipment. Affects carrier selection and label generation. Optional.

Responses

200Success
PUT/api/Outbound/B2B

Update an existing B2B outbound order

Updates a B2B outbound order that has not yet been shipped. The payload structure is identical to the create (`POST`) operation; the order is identified by the `orderNo` field in the request body. Only orders in an open/unshipped status can be modified. Attempting to update an order that is already in a picked, packed, or shipped state will return an error. If you need to cancel a shipped order, contact PGS360 operations directly. A successful update returns a `B2BDetailsLoadedResponse` reflecting the revised line quantities.

Request Body

FieldTypeDescription
orderNorequiredstringYour unique order identifier for this B2B shipment. This is the primary key used in subsequent status queries, updates, and cancellations. Required; must be unique per customer account.
orderDaterequiredstringThe date of the order in `yyyy-MM-dd` format (e.g., `2024-03-15`). Required.
promiseDatestringThe promised delivery date to the consignee, in `yyyy-MM-dd` format. Optional; used for retailer compliance and warehouse scheduling.
divisionNostringDivision or business-unit code within the customer's account structure, as configured in PGS360. Optional; used for multi-division customer accounts.
customerNostringThe customer account number in PGS360. Optional; if omitted, the account associated with the authentication token is used.
billToNamestringName of the company or individual to be billed for this order. Appears on the invoice generated by the warehouse. Optional.
billToAddress1stringPrimary street line of the billing address. Optional.
billToAddress2stringSecondary line of the billing address (suite, floor, etc.). Optional.
billToAddress3stringTertiary line of the billing address (e.g., department or attention line). Optional.
billToCitystringCity of the billing address. Optional.
billToStatestringState or province code of the billing address (e.g., `CA`). Optional.
billToZipCodestringPostal or ZIP code of the billing address. Optional.
billToCountryCodestringCountry code of the billing address (ISO 3166-1 alpha-2 or alpha-3). Optional.
shipToNamerequiredstringName of the consignee or ship-to party (retailer, DC, or customer). Appears on shipping labels. Required.
shipToAddress1requiredstringPrimary street line of the ship-to address. Required.
shipToAddress2stringSecondary line of the ship-to address (suite, dock, etc.). Optional.
shipToAddress3stringTertiary line of the ship-to address. Optional.
shipToCityrequiredstringCity of the ship-to address. Required.
shipToStaterequiredstringState or province code of the ship-to address (e.g., `NY`). Required.
shipToZipCoderequiredstringPostal or ZIP code of the ship-to address. Required.
shipToCountryCoderequiredstringCountry code of the ship-to address (ISO 3166-1 alpha-2 or alpha-3, e.g., `US`, `CA`). Required.
emailAddressstringEmail address for shipping notifications or order communication. Optional.
phoneNumberstringPhone number for the ship-to contact or consignee. Used by carriers for delivery exception notifications. Optional.
shipViastringShipping method or carrier instruction code (e.g., `"UPS"`, `"FEDEX"`, `"LTL"`). May be overridden by `carrierName` and `freightType`. Optional.
commentstringFree-text comment or special instruction for the warehouse (e.g., `"Pallet labels required"`, `"Call before delivery"`). Optional.
salesTaxSchedulestringTax schedule code used for sales tax calculation on the invoice. Refer to your PGS360 account configuration for valid values. Optional.
salesTaxAmountstringSales tax amount to be applied to this order, expressed as a numeric string (e.g., `"12.50"`). Optional.
discountAmountstringDiscount amount applied to the order total, expressed as a numeric string. Optional.
freightAmountstringFreight charge amount billed to the customer, expressed as a numeric string. Optional.
masterOrderIDstringReference to a master or parent order that this order belongs to. Used for consolidation or multi-shipment order grouping. Optional.
customerIDstringAn alternate customer identifier used for cross-referencing with external systems. Optional.
regionIDstringRegion code used for routing, sales territory reporting, or carrier rate selection. Optional.
carrierNamestringName of the carrier to be used for this shipment (e.g., `"UPS"`, `"FedEx"`, `"XPO"`). Optional; if omitted, the warehouse will apply the default carrier for the account.
freightTypestringFreight payment type or billing terms (e.g., `"Prepaid"`, `"Collect"`, `"Third Party"`). Optional.
b2B_Itemrequiredarray[B2BRequest_Item]Array of line items to be fulfilled in this order. At least one item is required. Each item specifies a SKU and the quantity to ship.
isRewardsbooleanFlag indicating whether this order is part of a rewards or loyalty programme fulfilment. When `true`, the warehouse may apply specific handling procedures. Optional.
companyIDstringPGS360 company identifier used in multi-company deployments to route the order to the correct legal entity or billing account. Optional.
warehousestringCode of the specific PGS360 warehouse facility that should fulfil this order. If omitted, PGS360 will assign the default warehouse for the account. Optional.
isSmallParcelbooleanWhen `true`, instructs the warehouse to treat this order as a small parcel shipment (e.g., UPS/FedEx package) rather than an LTL or full-pallet B2B shipment. Affects carrier selection and label generation. Optional.

Responses

200Success
DELETE/api/Outbound/B2B/{OrderNo}

Cancel an open B2B outbound order

Cancels and removes an open B2B outbound order from the warehouse queue. The `OrderNo` path parameter must match the customer-assigned order number (`orderNo`) that was supplied when the order was created. Cancellation is only possible while the order remains in an open status and has not been picked or shipped. Attempting to cancel an in-progress or completed order will result in an error response.

Parameters

NameInDescription
OrderNorequiredpath

Responses

200Success
GET/api/Outbound/B2B/Status/{OrderNo}

Get current status of a B2B order

Returns the current processing status of a B2B outbound order identified by the customer order number (`OrderNo`). The response includes a human-readable `status` string, an integer `statusCode`, and a `pgsOrderID` (PGS360's internal identifier). The `items` array provides per-line detail including the warehouse code, quantities uploaded, and any informational messages. Use this endpoint to poll order progress after creation or to diagnose upload issues before shipment.

Parameters

NameInDescription
OrderNorequiredpath

Responses

200Success
GET/api/Outbound/B2B/OrdersShipped/{Date}

List B2B orders shipped on a date

Returns a list of B2B outbound orders that were shipped on the specified date. The `Date` path parameter must be in `yyyy-MM-dd` format (e.g., `2024-03-15`). The response is an array of `B2BShippedResponse` objects, each containing full shipment details including invoice information, tracking numbers, carrier, line items shipped, SSCC pallet labels, and package/pallet counts. Use this endpoint for daily reconciliation or to trigger downstream invoicing and EDI processes.

Parameters

NameInDescription
Daterequiredpath

Responses

200Success
GET/api/Outbound/B2B/OrdersShipped/SO/{OrderNo}

Get B2B shipment details by order number

Returns the full shipment record for a specific B2B outbound order identified by the customer order number (`OrderNo`). This endpoint is useful when you know the order number and want to retrieve tracking, invoice, and line-item shipment data without filtering by date. If the order has not yet been shipped the response will be empty or return an appropriate status.

Parameters

NameInDescription
OrderNorequiredpath

Responses

200Success
GET/api/Outbound/B2B/Shipped/{Date}

List simplified B2B shipments by date

Returns a simplified list of B2B shipments for a given date in `yyyy-MM-dd` format. Unlike `/OrdersShipped/{Date}`, this endpoint returns a `ShippedGeneralResponse` array which provides a lightweight summary (PGS order ID, order number, shipped date, carrier, service, tracking number, and per-line SKU quantities) without the full invoice detail. Suitable for building shipment dashboards or triggering lightweight notification workflows.

Parameters

NameInDescription
Daterequiredpath

Responses

200Success
GET/api/Outbound/B2B/Open

Retrieve all open B2B outbound orders

Returns a list of all B2B outbound orders currently in an open (not yet shipped) status across all warehouses associated with the authenticated customer account. Each record in the `B2BOrdersOpen` array includes the PGS internal order number, the customer sales order and purchase order references, consignee details, destination, line item count, pallet and case counts, and scheduling dates (routed date and scheduled pick-up date). Use this endpoint to monitor your fulfilment queue and identify any stalled or overdue orders.

Responses

200Success
GET/api/Outbound/B2B/Shipped/SO/{OrderNo}

Get simplified B2B shipment by order number

Returns a simplified `ShippedGeneralResponse` for a specific B2B outbound order identified by the customer order number. This provides summary-level shipment information (tracking, carrier, service type, and per-line quantities) for a single order, without the full invoice detail available from `/OrdersShipped/SO/{OrderNo}`.

Parameters

NameInDescription
OrderNorequiredpath

Responses

200Success

B2C

POST/api/Outbound/B2C

Create a new B2C outbound order

Submits a new Business-to-Consumer (B2C) outbound order (e.g., an eCommerce direct-to-consumer shipment) to the PGS360 warehouse for fulfilment. The order identifies the end consumer's shipping address and lists the SKUs and quantities to be shipped. At least one item must be included in `b2C_Item`. Each SKU must be pre-registered via the SKU API. The `carrier` and `serviceType` fields control which carrier and service level the warehouse will use; if omitted, the warehouse's default is applied. Returns a `B2CShippedResponse`-style confirmation on success, including the PGS internal order ID.

Request Body

FieldTypeDescription
orderNumberrequiredstringYour unique order identifier for this B2C shipment (e.g., the eCommerce platform order number). Used as the primary key for all subsequent status queries, updates, and cancellations. Required.
orderDaterequiredstringOrder date in `yyyy-MM-dd` format. Required.
carrierstringCarrier to be used for this shipment (e.g., `"UPS"`, `"FedEx"`, `"USPS"`). Optional; if omitted, the warehouse's default carrier for the account applies.
serviceTypestringCarrier service level (e.g., `"Ground"`, `"Priority"`, `"2Day"`). Optional; must be a valid service level for the specified carrier.
shipToFirstNamerequiredstringFirst name of the consumer recipient. Appears on the shipping label. Required.
shipToLastNamerequiredstringLast name of the consumer recipient. Appears on the shipping label. Required.
shipToAddress1requiredstringPrimary street line of the consumer's delivery address. Required.
shipToAddress2stringSecondary delivery address line (apartment, unit, suite). Optional.
shipToCityrequiredstringCity of the delivery address. Required.
shipToStaterequiredstringState or province code of the delivery address (e.g., `"CA"`). Required.
shipToZipCoderequiredstringPostal or ZIP code of the delivery address. Required.
shipToCountryCode_Alfa2requiredstringISO 3166-1 alpha-2 country code for the delivery address (e.g., `"US"`, `"CA"`, `"GB"`). Must be exactly 2 characters. Required.
shipToPhonestringConsumer's phone number for carrier delivery notifications and exception handling. Optional but strongly recommended.
shipIsResidentialbooleanSet to `true` if the delivery address is a residential location. Affects carrier surcharge calculations (residential delivery fees). Required.
b2C_Itemrequiredarray[B2CRequest_Item]Array of SKUs and quantities to be shipped in this order. At least one item is required.
companyIDstringPGS360 company identifier for multi-company deployments. Optional.
warehousestringCode of the specific PGS360 warehouse to fulfil this order from. Optional; defaults to the account's assigned warehouse.
notesstringFree-text special handling instructions or order notes for the warehouse (e.g., `"Gift wrap requested"`, `"Leave at door"`). Optional.
sourcestringIdentifies the originating channel or system for this order (e.g., `"Shopify"`, `"Amazon"`, `"Website"`). Used for reporting and channel attribution. Optional.

Responses

200Success
PUT/api/Outbound/B2C

Update an existing B2C outbound order

Modifies a B2C outbound order that has not yet been shipped. The order is identified by the `orderNumber` field in the request body. All editable fields (address, carrier, items, etc.) may be updated in the same payload. Only open orders can be updated. Returns a confirmation response on success. Attempting to update an order already in progress or shipped will result in an error.

Request Body

FieldTypeDescription
orderNumberrequiredstringYour unique order identifier for this B2C shipment (e.g., the eCommerce platform order number). Used as the primary key for all subsequent status queries, updates, and cancellations. Required.
orderDaterequiredstringOrder date in `yyyy-MM-dd` format. Required.
carrierstringCarrier to be used for this shipment (e.g., `"UPS"`, `"FedEx"`, `"USPS"`). Optional; if omitted, the warehouse's default carrier for the account applies.
serviceTypestringCarrier service level (e.g., `"Ground"`, `"Priority"`, `"2Day"`). Optional; must be a valid service level for the specified carrier.
shipToFirstNamerequiredstringFirst name of the consumer recipient. Appears on the shipping label. Required.
shipToLastNamerequiredstringLast name of the consumer recipient. Appears on the shipping label. Required.
shipToAddress1requiredstringPrimary street line of the consumer's delivery address. Required.
shipToAddress2stringSecondary delivery address line (apartment, unit, suite). Optional.
shipToCityrequiredstringCity of the delivery address. Required.
shipToStaterequiredstringState or province code of the delivery address (e.g., `"CA"`). Required.
shipToZipCoderequiredstringPostal or ZIP code of the delivery address. Required.
shipToCountryCode_Alfa2requiredstringISO 3166-1 alpha-2 country code for the delivery address (e.g., `"US"`, `"CA"`, `"GB"`). Must be exactly 2 characters. Required.
shipToPhonestringConsumer's phone number for carrier delivery notifications and exception handling. Optional but strongly recommended.
shipIsResidentialbooleanSet to `true` if the delivery address is a residential location. Affects carrier surcharge calculations (residential delivery fees). Required.
b2C_Itemrequiredarray[B2CRequest_Item]Array of SKUs and quantities to be shipped in this order. At least one item is required.
companyIDstringPGS360 company identifier for multi-company deployments. Optional.
warehousestringCode of the specific PGS360 warehouse to fulfil this order from. Optional; defaults to the account's assigned warehouse.
notesstringFree-text special handling instructions or order notes for the warehouse (e.g., `"Gift wrap requested"`, `"Leave at door"`). Optional.
sourcestringIdentifies the originating channel or system for this order (e.g., `"Shopify"`, `"Amazon"`, `"Website"`). Used for reporting and channel attribution. Optional.

Responses

200Success
GET/api/Outbound/B2C/OrdersShipped/{Date}

List B2C orders shipped on a date

Returns full shipment records for all B2C outbound orders shipped on the specified date. The `Date` path parameter must be in `yyyy-MM-dd` format. Each `B2CShippedResponse` item contains the customer order number, PGS internal ID, shipping timestamps, carrier and service type, tracking number, consignee name, and per-line SKU/quantity/lot detail. Use this for end-of-day reconciliation, customer notification workflows, or return-merchandise-authorisation (RMA) pre-processing.

Parameters

NameInDescription
Daterequiredpath

Responses

200Success
GET/api/Outbound/B2C/OrdersShipped/ON/{OrderNo}

Get B2C shipment details by order number

Returns the full `B2CShippedResponse` for a single B2C order identified by the customer-assigned order number (`OrderNo`). Useful for retrieving tracking and shipment confirmation data for a specific consumer order after it has been dispatched.

Parameters

NameInDescription
OrderNorequiredpath

Responses

200Success
GET/api/Outbound/B2C/Shipped/{Date}

List simplified B2C shipments by date

Returns a lightweight `ShippedGeneralResponse` array for all B2C orders shipped on the given date (`yyyy-MM-dd`). Provides PGS order ID, order number, shipped date, carrier, service type, tracking number, and per-line quantities without the full consumer detail present in `/OrdersShipped/{Date}`.

Parameters

NameInDescription
Daterequiredpath

Responses

200Success
GET/api/Outbound/B2C/Shipped/ON/{OrderNo}

Get simplified B2C shipment by order number

Returns a simplified `ShippedGeneralResponse` for a single B2C order identified by the customer order number. Provides summary shipment data (tracking, carrier, items shipped) without full invoice detail.

Parameters

NameInDescription
OrderNorequiredpath

Responses

200Success
GET/api/Outbound/B2C/Status/{OrderNumber}

Get current status of a B2C order

Returns the current processing status of a B2C outbound order identified by the customer-assigned order number (`OrderNumber`). The response includes the customer order number, PGS internal ID, a human-readable `status` string, a `timeStamp` of the last status change, and an `items` array with per-line SKU and quantity detail. Use this endpoint to check whether an order is open, in picking, packed, or shipped.

Parameters

NameInDescription
OrderNumberrequiredpath

Responses

200Success
DELETE/api/Outbound/B2C/{OrderNumber}

Cancel an open B2C outbound order

Cancels and removes an open B2C outbound order from the warehouse queue. The `OrderNumber` path parameter must match the customer-assigned order number supplied at creation time. Only orders in open status that have not yet been picked or shipped can be cancelled via this endpoint. Contact PGS360 operations for orders already in progress.

Parameters

NameInDescription
OrderNumberrequiredpath

Responses

200Success
GET/api/Outbound/B2C/Open

Retrieve all open B2C outbound orders

Returns a list of all B2C outbound orders in an open (not yet shipped) status for the authenticated customer account. Each `B2COrdersOpen` record includes the customer order number, PGS internal ID, creation timestamp, line item count, current status, consignee name, destination, warehouse, and assigned carrier and service type. Use this to monitor the live fulfilment queue for consumer orders.

Responses

200Success

CustomerAddress

POST/api/CustomerAddress

Register or update a customer ship-to address

Creates or updates a ship-to address record in the PGS360 system for the authenticated customer. This address book entry can then be referenced in outbound order requests to avoid repeating full address details on every order. All fields except `street2`, `phone`, and `email` are required. The `countryCode` must be a valid ISO 3166-1 alpha-2 or alpha-3 country code consistent with the convention used in your outbound order requests.

Request Body

FieldTypeDescription
companyNamerequiredstringLegal or trading name of the company at this address. Used as the addressee on shipping labels and purchase order documents. Required.
street1requiredstringPrimary street address line (street number and name). Required.
street2stringSecondary address line for suite, unit, floor, or building identifiers. Optional; omit if not applicable.
cityrequiredstringCity or municipality name. Required.
staterequiredstringState, province, or region code. For US addresses use the two-letter USPS state abbreviation (e.g., `CA`, `TX`). Required.
ziprequiredstringPostal or ZIP code. For US addresses this should be 5 or 9 digits (with or without the hyphen, e.g., `90210` or `90210-1234`). Required.
countryCoderequiredstringISO 3166-1 country code. Use the same format (alpha-2 or alpha-3) that is used in your outbound and inbound order requests. Required.
phonestringContact phone number for this address. Recommended for carrier delivery notifications and exception handling. Optional.
emailstringContact email address. Used for delivery notifications and exception handling communications. Optional.

Responses

200Success

Inbound

POST/api/Inbound

Create a new inbound purchase order

Submits a new inbound purchase order (PO) / Advance Shipment Notice (ASN) to PGS360, instructing the warehouse to expect and receive stock from a vendor. The request must include the vendor's details, the expected ship-to warehouse address, and at least one line item in `inbound_Item`. The `purchaseOrderNo` is the primary key used in all subsequent status and receipt queries. On success the API returns an `InboundDetailsLoadedResponse` containing a per-line confirmation of quantities loaded, the PGS internal inbound ID, and any informational messages. SKUs referenced in line items must already exist in the PGS360 item master.

Request Body

FieldTypeDescription
purchaseOrderNorequiredstringYour unique purchase order number for this inbound shipment. This is the primary key used in all subsequent status queries, updates, and cancellations. Required.
custpostringYour internal or buyer-side purchase order reference number. Used when the PGS360 PO number and your internal PO number differ. Optional.
apDivisionNostringAccounts Payable division number identifying the vendor's billing division in PGS360's financial setup. Optional.
vendorNostringVendor account number in PGS360 identifying the supplying vendor. Optional.
vendorNamerequiredstringLegal or trading name of the vendor supplying the goods. Required.
vendorAddress1requiredstringPrimary street line of the vendor's address (origin of the shipment). Required.
vendorAddress2stringSecondary line of the vendor's address (suite, unit, etc.). Optional.
vendorAddress3stringTertiary line of the vendor's address. Optional.
vendorCityrequiredstringCity of the vendor's address. Required.
vendorStaterequiredstringState or province code of the vendor's address (e.g., `"TX"`). Required.
vendorZipCoderequiredstringPostal or ZIP code of the vendor's address. Required.
vendorCountryrequiredstringCountry code of the vendor's address (ISO 3166-1 alpha-2 or alpha-3). Required.
shipToNamestringName of the warehouse or receiving facility where the goods will be delivered. Optional; defaults to the PGS360 warehouse name if omitted.
shipToAddress1stringPrimary street line of the receiving warehouse address. Optional.
shipToAddress2stringSecondary line of the receiving address. Optional.
shipToAddress3stringTertiary line of the receiving address. Optional.
shipToCitystringCity of the receiving warehouse. Optional.
shipToStatestringState code of the receiving warehouse (e.g., `"CA"`). Optional.
shipToZipCodestringPostal or ZIP code of the receiving warehouse. Optional.
shipToCountryCodestringCountry code of the receiving warehouse (ISO 3166-1 alpha-2 or alpha-3). Optional.
arDivisionNostringAccounts Receivable division number for the customer account in PGS360's financial setup. Optional.
customerNostringCustomer account number in PGS360 associated with this inbound order. Optional.
requireDatestringDate by which the goods are required at the warehouse, in `yyyy-MM-dd` format. Used for warehouse scheduling and prioritisation. Optional.
receivingPurchaseOrderstringAn alternate or receiving PO number used internally by the warehouse or 3PL. Optional.
scheduledDatestringExpected date of delivery at the warehouse (Advance Shipment Notice date), in `yyyy-MM-dd` format. Helps the warehouse plan dock appointments. Optional.
inbound_Itemrequiredarray[InboundRequest_Item]Array of line items expected to be received on this PO. At least one item is required. Each item specifies a SKU, quantity, and optional lot/cost data.
companyIDstringPGS360 company identifier for multi-company deployments. Optional.
warehousestringCode of the specific PGS360 warehouse where the inbound goods should be received. Optional; defaults to the account's primary warehouse.
isReturnedboolean

Responses

200Success
PUT/api/Inbound

Update an existing inbound purchase order

Modifies an existing inbound purchase order that has not yet been received. The order is identified by `purchaseOrderNo` in the request body. All fields may be updated in the same payload. Only POs in open/pending status can be modified. Returns an `InboundDetailsLoadedResponse` reflecting the revised lines.

Request Body

FieldTypeDescription
purchaseOrderNorequiredstringYour unique purchase order number for this inbound shipment. This is the primary key used in all subsequent status queries, updates, and cancellations. Required.
custpostringYour internal or buyer-side purchase order reference number. Used when the PGS360 PO number and your internal PO number differ. Optional.
apDivisionNostringAccounts Payable division number identifying the vendor's billing division in PGS360's financial setup. Optional.
vendorNostringVendor account number in PGS360 identifying the supplying vendor. Optional.
vendorNamerequiredstringLegal or trading name of the vendor supplying the goods. Required.
vendorAddress1requiredstringPrimary street line of the vendor's address (origin of the shipment). Required.
vendorAddress2stringSecondary line of the vendor's address (suite, unit, etc.). Optional.
vendorAddress3stringTertiary line of the vendor's address. Optional.
vendorCityrequiredstringCity of the vendor's address. Required.
vendorStaterequiredstringState or province code of the vendor's address (e.g., `"TX"`). Required.
vendorZipCoderequiredstringPostal or ZIP code of the vendor's address. Required.
vendorCountryrequiredstringCountry code of the vendor's address (ISO 3166-1 alpha-2 or alpha-3). Required.
shipToNamestringName of the warehouse or receiving facility where the goods will be delivered. Optional; defaults to the PGS360 warehouse name if omitted.
shipToAddress1stringPrimary street line of the receiving warehouse address. Optional.
shipToAddress2stringSecondary line of the receiving address. Optional.
shipToAddress3stringTertiary line of the receiving address. Optional.
shipToCitystringCity of the receiving warehouse. Optional.
shipToStatestringState code of the receiving warehouse (e.g., `"CA"`). Optional.
shipToZipCodestringPostal or ZIP code of the receiving warehouse. Optional.
shipToCountryCodestringCountry code of the receiving warehouse (ISO 3166-1 alpha-2 or alpha-3). Optional.
arDivisionNostringAccounts Receivable division number for the customer account in PGS360's financial setup. Optional.
customerNostringCustomer account number in PGS360 associated with this inbound order. Optional.
requireDatestringDate by which the goods are required at the warehouse, in `yyyy-MM-dd` format. Used for warehouse scheduling and prioritisation. Optional.
receivingPurchaseOrderstringAn alternate or receiving PO number used internally by the warehouse or 3PL. Optional.
scheduledDatestringExpected date of delivery at the warehouse (Advance Shipment Notice date), in `yyyy-MM-dd` format. Helps the warehouse plan dock appointments. Optional.
inbound_Itemrequiredarray[InboundRequest_Item]Array of line items expected to be received on this PO. At least one item is required. Each item specifies a SKU, quantity, and optional lot/cost data.
companyIDstringPGS360 company identifier for multi-company deployments. Optional.
warehousestringCode of the specific PGS360 warehouse where the inbound goods should be received. Optional; defaults to the account's primary warehouse.
isReturnedboolean

Responses

200Success
DELETE/api/Inbound/{PurchaseOrderNo}

Cancel an open inbound purchase order

Cancels an open inbound purchase order identified by the `PurchaseOrderNo` path parameter. The value must match the `purchaseOrderNo` supplied at creation. Only orders that have not yet been received (or partially received) can be cancelled through this endpoint. Contact PGS360 operations for orders already in a receiving workflow.

Parameters

NameInDescription
PurchaseOrderNorequiredpath

Responses

200Success
GET/api/Inbound/Status/{PurchaseOrderNo}

Get status of an inbound purchase order

Returns the current status and receipt detail for an inbound PO identified by `PurchaseOrderNo`. The `InboundStatusResponse` includes a human-readable status, a numeric status code, vendor and customer account identifiers, warehouse code, received item receipts grouped by receipt number and date, and the originally requested line items for comparison. Use this endpoint to confirm that stock has been received, verify receipt quantities, and detect discrepancies between ordered and received units.

Parameters

NameInDescription
PurchaseOrderNorequiredpath

Responses

200Success
GET/api/Inbound/OrdersReceived/{Date}

List inbound POs received on a date

Returns full receipt records for all inbound purchase orders received on the specified date. The `Date` path parameter must be in `yyyy-MM-dd` format. Each `InboundReceivedResponse` contains the PO numbers, vendor and customer identifiers, warehouse code, receipt details grouped by receipt number (including quantities received and lot/serial numbers), and the originally ordered line items.

Parameters

NameInDescription
Daterequiredpath

Responses

200Success
GET/api/Inbound/OrdersReceived/PO/{PO}

Get receipt details for a specific PO

Returns the full `InboundReceivedResponse` for a single inbound purchase order identified by the `PO` path parameter (the customer's purchase order number). Provides the same comprehensive receipt detail as `/OrdersReceived/{Date}` but scoped to one PO. Useful for reconciling a specific inbound shipment against your ERP without needing to know the receipt date.

Parameters

NameInDescription
POrequiredpath

Responses

200Success
GET/api/Inbound/Received/{Date}

List simplified inbound receipts by date

Returns a simplified `ReceivedGeneralResponse` array for all inbound POs that were received on the given date (`yyyy-MM-dd`). Each record provides the order number, a closed/open indicator, and per-receipt item lines with SKU, lot number, and quantities received. Use this as a lightweight alternative to `/OrdersReceived/{Date}` when full vendor and customer header detail is not needed.

Parameters

NameInDescription
Daterequiredpath

Responses

200Success
GET/api/Inbound/Received/PO/{orderNo}

Get simplified receipt detail by PO number

Returns a simplified `ReceivedGeneralResponse` for a single inbound purchase order identified by the `orderNo` path parameter. Provides receipt-grouped item lines (SKU, lot, quantity) and a closed indicator without the full header detail of the `/OrdersReceived/PO/{PO}` variant.

Parameters

NameInDescription
orderNorequiredpath

Responses

200Success

Inventory

GET/api/Inventory/CurrentInventory

Query current on-hand inventory levels

Returns current inventory stock levels for SKUs held at PGS360 warehouses. Results can be filtered and paginated using optional query parameters: - `SKU` — filter to a specific stock-keeping unit code. - `startposition` — zero-based offset for pagination (default: 0). - `maxresults` — maximum number of records to return per call. Each `InventoryDetailsResponse` record provides the SKU code, current stock level (units on hand), warehouse identifier, lot number (if lot-controlled), and inventory status (e.g., available, quarantine, damaged). If `SKU` is omitted, all SKUs for the authenticated account are returned subject to the pagination parameters. Use `startposition` and `maxresults` together to page through large inventories.

Parameters

NameInDescription
SKUquery
startpositionquery
maxresultsquery

Responses

200Success

Security

POST/api/Security/Token

Obtain a Bearer authentication token

Authenticates the caller and returns a time-limited Bearer token for use in the `Authorization` header of all subsequent API requests. Supply your PGS360-issued `userId` and `passwd` credentials in the request body. The response includes the `access_token` string, the token type (`Bearer`), and the number of seconds until expiry (`expires_in`). Tokens should be cached and reused until they near expiry to avoid unnecessary re-authentication overhead. When a token expires, call this endpoint again to obtain a fresh one.

Request Body

FieldTypeDescription
userIdrequiredstringYour PGS360-assigned username or user ID. This is provided by PGS360 during onboarding. Required.
passwdrequiredstringPassword associated with the `userId`. Keep this value secure and never expose it in client-side code or logs. Required.

Responses

200Success

Sku

POST/api/Sku

Create a new SKU in the item master

Registers a new Stock-Keeping Unit (SKU) in the PGS360 warehouse item master. SKUs must be created before they can be referenced in inbound or outbound orders. The request captures all physical and handling attributes required for warehouse operations: dimensions, weight, units of measure, case and pallet configuration, hazmat classifications, lot control settings, and storage category. Returns a confirmation on success. If the SKU already exists, use `PUT /api/Sku` to update it.

Request Body

FieldTypeDescription
skurequiredstringUnique stock-keeping unit code identifying this product. Must be unique within the customer account. This is the code used in all inbound and outbound order line items. Required.
shortDescriptionrequiredstringBrief, concise description of the product (typically up to 30 characters). Appears on pick lists, packing slips, and WMS screens. Required.
longDescriptionrequiredstringFull product description (up to 255 characters). Used on invoices, shipping documents, and customer-facing reports. Required.
upcstringUniversal Product Code (UPC-A, EAN-13, or similar barcode) for the individual unit. Used for scanning during receiving, picking, and shipping. Optional.
itemTypeCoderequiredstringProduct type classification code as configured in PGS360 (e.g., `"EACH"`, `"KIT"`, `"BULK"`). Determines handling rules in the WMS. Required.
lotControlrequiredbooleanSet to `true` if this SKU requires lot/batch number tracking throughout the warehouse. When enabled, lot numbers must be supplied on all inbound and outbound order lines for this SKU. Required.
storageCategorystringWarehouse storage zone or category code used to direct the WMS to store this SKU in the appropriate area (e.g., `"AMB"` for ambient, `"REF"` for refrigerated, `"HAZ"` for hazardous). Optional.
cycleCountCategorystringCategory code determining the frequency and method of cycle counting for this SKU (e.g., `"A"`, `"B"`, `"C"` in ABC analysis). Optional.
hazardousClassificationStoragestringHazardous material classification code for storage purposes (e.g., `"3"` for flammable liquids per GHS/OSHA). Required when `isHazardousStorage` is `true`. Optional otherwise.
hazardousClassificationTransportationstringHazardous material classification code for transportation (e.g., UN hazmat class as required by DOT/IATA). Required when `isHazardousTransportation` is `true`. Optional otherwise.
formulastringProduct formula or compound identifier, used in regulated or pharmaceutical contexts to track product formulation. Optional.
masterCaseUPCstringUPC or barcode of the master case (outer carton) containing multiple units of this SKU. Used for scanning at receiving and during palletisation. Optional.
masterCaseLengthrequiredintegerLength of the master case in the unit defined by `pieceDimsUOM` (or a consistent dimension unit). Minimum value: 1. Required.
masterCaseWidthrequiredintegerWidth of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required.
masterCaseHeightrequiredintegerHeight of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required.
skuUomrequiredstringThe base unit of measure for this SKU (e.g., `"EA"` for each, `"CS"` for case, `"LB"` for pound). Must match the UOM used in order line quantities. Required.
piecesPerCaserequiredintegerNumber of individual units (pieces/eaches) contained in one master case. Used for case-pick operations and inventory calculations. Minimum value: 1. Required.
casesPerPalletrequiredintegerStandard number of master cases per pallet tier and height configuration for this SKU. Used for pallet build and load planning. Minimum value: 1. Required.
pieceLengthintegerLength of a single unit (piece/each) in the unit defined by `pieceDimsUOM`. Optional; used for dimensional weight calculations and small parcel rating.
pieceWidthintegerWidth of a single unit in the unit defined by `pieceDimsUOM`. Optional.
pieceHeightintegerHeight of a single unit in the unit defined by `pieceDimsUOM`. Optional.
pieceDimsUOMstringUnit of measure for piece dimensions (`pieceLength`, `pieceWidth`, `pieceHeight`) and master case dimensions (e.g., `"IN"` for inches, `"CM"` for centimetres). Optional; must be consistent across all dimension fields.
pieceWeightrequirednumberWeight of a single unit (piece/each) expressed in the unit defined by `pieceWeightUOM`. Used for freight rating and shipping label generation. Required.
pieceWeightUOMrequiredstringUnit of measure for `pieceWeight` (e.g., `"LB"` for pounds, `"KG"` for kilograms). Required.
isHazmatrequiredbooleanMaster hazardous material flag. Set to `true` if this SKU is classified as hazardous in any context (storage or transportation). When `true`, at least one of `isHazardousStorage` or `isHazardousTransportation` should also be `true`. Required.
isHazardousTransportationbooleanSet to `true` if this SKU is classified as dangerous goods for transportation purposes (e.g., requires DOT or IATA hazmat labelling during shipping). Optional.
isHazardousStoragebooleanSet to `true` if this SKU requires hazardous storage conditions (e.g., flammable storage area, segregated racking). Optional.
companyIDstringPGS360 company identifier to associate this SKU with a specific legal entity in multi-company deployments. Optional.
measureUnitrequiredstringOverall unit of measure used for the SKU in system reporting and EDI (may be the same as `skuUom`). Required.
stockReleaseMethodrequiredstringMethod used by the WMS to select which lot or location to pick from when fulfilling orders (e.g., `"FIFO"` for First In First Out, `"FEFO"` for First Expired First Out, `"LIFO"` for Last In First Out). Required.

Responses

200Success
PUT/api/Sku

Update an existing SKU in the item master

Updates the attributes of an existing SKU in the PGS360 item master. The SKU to update is identified by the `sku` field in the request body. All fields present in the `SkuRequest` schema may be updated. Changes take effect for subsequent inbound and outbound order processing. Changes to physical dimensions or hazmat flags may affect carrier selection and storage slotting within the warehouse.

Request Body

FieldTypeDescription
skurequiredstringUnique stock-keeping unit code identifying this product. Must be unique within the customer account. This is the code used in all inbound and outbound order line items. Required.
shortDescriptionrequiredstringBrief, concise description of the product (typically up to 30 characters). Appears on pick lists, packing slips, and WMS screens. Required.
longDescriptionrequiredstringFull product description (up to 255 characters). Used on invoices, shipping documents, and customer-facing reports. Required.
upcstringUniversal Product Code (UPC-A, EAN-13, or similar barcode) for the individual unit. Used for scanning during receiving, picking, and shipping. Optional.
itemTypeCoderequiredstringProduct type classification code as configured in PGS360 (e.g., `"EACH"`, `"KIT"`, `"BULK"`). Determines handling rules in the WMS. Required.
lotControlrequiredbooleanSet to `true` if this SKU requires lot/batch number tracking throughout the warehouse. When enabled, lot numbers must be supplied on all inbound and outbound order lines for this SKU. Required.
storageCategorystringWarehouse storage zone or category code used to direct the WMS to store this SKU in the appropriate area (e.g., `"AMB"` for ambient, `"REF"` for refrigerated, `"HAZ"` for hazardous). Optional.
cycleCountCategorystringCategory code determining the frequency and method of cycle counting for this SKU (e.g., `"A"`, `"B"`, `"C"` in ABC analysis). Optional.
hazardousClassificationStoragestringHazardous material classification code for storage purposes (e.g., `"3"` for flammable liquids per GHS/OSHA). Required when `isHazardousStorage` is `true`. Optional otherwise.
hazardousClassificationTransportationstringHazardous material classification code for transportation (e.g., UN hazmat class as required by DOT/IATA). Required when `isHazardousTransportation` is `true`. Optional otherwise.
formulastringProduct formula or compound identifier, used in regulated or pharmaceutical contexts to track product formulation. Optional.
masterCaseUPCstringUPC or barcode of the master case (outer carton) containing multiple units of this SKU. Used for scanning at receiving and during palletisation. Optional.
masterCaseLengthrequiredintegerLength of the master case in the unit defined by `pieceDimsUOM` (or a consistent dimension unit). Minimum value: 1. Required.
masterCaseWidthrequiredintegerWidth of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required.
masterCaseHeightrequiredintegerHeight of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required.
skuUomrequiredstringThe base unit of measure for this SKU (e.g., `"EA"` for each, `"CS"` for case, `"LB"` for pound). Must match the UOM used in order line quantities. Required.
piecesPerCaserequiredintegerNumber of individual units (pieces/eaches) contained in one master case. Used for case-pick operations and inventory calculations. Minimum value: 1. Required.
casesPerPalletrequiredintegerStandard number of master cases per pallet tier and height configuration for this SKU. Used for pallet build and load planning. Minimum value: 1. Required.
pieceLengthintegerLength of a single unit (piece/each) in the unit defined by `pieceDimsUOM`. Optional; used for dimensional weight calculations and small parcel rating.
pieceWidthintegerWidth of a single unit in the unit defined by `pieceDimsUOM`. Optional.
pieceHeightintegerHeight of a single unit in the unit defined by `pieceDimsUOM`. Optional.
pieceDimsUOMstringUnit of measure for piece dimensions (`pieceLength`, `pieceWidth`, `pieceHeight`) and master case dimensions (e.g., `"IN"` for inches, `"CM"` for centimetres). Optional; must be consistent across all dimension fields.
pieceWeightrequirednumberWeight of a single unit (piece/each) expressed in the unit defined by `pieceWeightUOM`. Used for freight rating and shipping label generation. Required.
pieceWeightUOMrequiredstringUnit of measure for `pieceWeight` (e.g., `"LB"` for pounds, `"KG"` for kilograms). Required.
isHazmatrequiredbooleanMaster hazardous material flag. Set to `true` if this SKU is classified as hazardous in any context (storage or transportation). When `true`, at least one of `isHazardousStorage` or `isHazardousTransportation` should also be `true`. Required.
isHazardousTransportationbooleanSet to `true` if this SKU is classified as dangerous goods for transportation purposes (e.g., requires DOT or IATA hazmat labelling during shipping). Optional.
isHazardousStoragebooleanSet to `true` if this SKU requires hazardous storage conditions (e.g., flammable storage area, segregated racking). Optional.
companyIDstringPGS360 company identifier to associate this SKU with a specific legal entity in multi-company deployments. Optional.
measureUnitrequiredstringOverall unit of measure used for the SKU in system reporting and EDI (may be the same as `skuUom`). Required.
stockReleaseMethodrequiredstringMethod used by the WMS to select which lot or location to pick from when fulfilling orders (e.g., `"FIFO"` for First In First Out, `"FEFO"` for First Expired First Out, `"LIFO"` for Last In First Out). Required.

Responses

200Success
GET/api/Sku/{SKU}

Retrieve item master details for a SKU

Returns the current item master record for the SKU identified by the `SKU` path parameter. The response includes all attributes registered against the SKU: descriptions, UPC codes, physical dimensions, weight, unit of measure, packing configuration, hazmat flags, lot-control setting, and storage/cycle-count categories. Use this endpoint to verify that a SKU's attributes are correct before submitting orders, or to audit the item master after an update.

Parameters

NameInDescription
SKUrequiredpath

Responses

200Success

VendorAddress

POST/api/VendorAddress

Register or update a vendor address

Creates or updates a vendor address record in the PGS360 system. Vendor addresses can be pre-registered here so they can be referenced in inbound purchase order requests without repeating the full address on every PO submission. All fields except `street2`, `phone`, and `email` are required. The `countryCode` must be a valid ISO 3166-1 alpha-2 or alpha-3 country code consistent with the convention used in your inbound order requests.

Request Body

FieldTypeDescription
companyNamerequiredstringLegal or trading name of the company at this address. Used as the addressee on shipping labels and purchase order documents. Required.
street1requiredstringPrimary street address line (street number and name). Required.
street2stringSecondary address line for suite, unit, floor, or building identifiers. Optional; omit if not applicable.
cityrequiredstringCity or municipality name. Required.
staterequiredstringState, province, or region code. For US addresses use the two-letter USPS state abbreviation (e.g., `CA`, `TX`). Required.
ziprequiredstringPostal or ZIP code. For US addresses this should be 5 or 9 digits (with or without the hyphen, e.g., `90210` or `90210-1234`). Required.
countryCoderequiredstringISO 3166-1 country code. Use the same format (alpha-2 or alpha-3) that is used in your outbound and inbound order requests. Required.
phonestringContact phone number for this address. Recommended for carrier delivery notifications and exception handling. Optional.
emailstringContact email address. Used for delivery notifications and exception handling communications. Optional.

Responses

200Success