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
| Environment | Base URL |
|---|---|
| Production | https://api.pgs360.com/CustomerIntegrator |
| Testing | https://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
Msgfield. - If at least one item fails, the entire order will not be processed. Check the
Msgfield per line for details. - Warehouse codes:
PICO,FW,NJ,CM— default is set per client agreement.
B2B
/api/Outbound/B2BCreate 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
| Field | Type | Description |
|---|---|---|
| orderNorequired | string | Your 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. |
| orderDaterequired | string | The date of the order in `yyyy-MM-dd` format (e.g., `2024-03-15`). Required. |
| promiseDate | string | The promised delivery date to the consignee, in `yyyy-MM-dd` format. Optional; used for retailer compliance and warehouse scheduling. |
| divisionNo | string | Division or business-unit code within the customer's account structure, as configured in PGS360. Optional; used for multi-division customer accounts. |
| customerNo | string | The customer account number in PGS360. Optional; if omitted, the account associated with the authentication token is used. |
| billToName | string | Name of the company or individual to be billed for this order. Appears on the invoice generated by the warehouse. Optional. |
| billToAddress1 | string | Primary street line of the billing address. Optional. |
| billToAddress2 | string | Secondary line of the billing address (suite, floor, etc.). Optional. |
| billToAddress3 | string | Tertiary line of the billing address (e.g., department or attention line). Optional. |
| billToCity | string | City of the billing address. Optional. |
| billToState | string | State or province code of the billing address (e.g., `CA`). Optional. |
| billToZipCode | string | Postal or ZIP code of the billing address. Optional. |
| billToCountryCode | string | Country code of the billing address (ISO 3166-1 alpha-2 or alpha-3). Optional. |
| shipToNamerequired | string | Name of the consignee or ship-to party (retailer, DC, or customer). Appears on shipping labels. Required. |
| shipToAddress1required | string | Primary street line of the ship-to address. Required. |
| shipToAddress2 | string | Secondary line of the ship-to address (suite, dock, etc.). Optional. |
| shipToAddress3 | string | Tertiary line of the ship-to address. Optional. |
| shipToCityrequired | string | City of the ship-to address. Required. |
| shipToStaterequired | string | State or province code of the ship-to address (e.g., `NY`). Required. |
| shipToZipCoderequired | string | Postal or ZIP code of the ship-to address. Required. |
| shipToCountryCoderequired | string | Country code of the ship-to address (ISO 3166-1 alpha-2 or alpha-3, e.g., `US`, `CA`). Required. |
| emailAddress | string | Email address for shipping notifications or order communication. Optional. |
| phoneNumber | string | Phone number for the ship-to contact or consignee. Used by carriers for delivery exception notifications. Optional. |
| shipVia | string | Shipping method or carrier instruction code (e.g., `"UPS"`, `"FEDEX"`, `"LTL"`). May be overridden by `carrierName` and `freightType`. Optional. |
| comment | string | Free-text comment or special instruction for the warehouse (e.g., `"Pallet labels required"`, `"Call before delivery"`). Optional. |
| salesTaxSchedule | string | Tax schedule code used for sales tax calculation on the invoice. Refer to your PGS360 account configuration for valid values. Optional. |
| salesTaxAmount | string | Sales tax amount to be applied to this order, expressed as a numeric string (e.g., `"12.50"`). Optional. |
| discountAmount | string | Discount amount applied to the order total, expressed as a numeric string. Optional. |
| freightAmount | string | Freight charge amount billed to the customer, expressed as a numeric string. Optional. |
| masterOrderID | string | Reference to a master or parent order that this order belongs to. Used for consolidation or multi-shipment order grouping. Optional. |
| customerID | string | An alternate customer identifier used for cross-referencing with external systems. Optional. |
| regionID | string | Region code used for routing, sales territory reporting, or carrier rate selection. Optional. |
| carrierName | string | Name 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. |
| freightType | string | Freight payment type or billing terms (e.g., `"Prepaid"`, `"Collect"`, `"Third Party"`). Optional. |
| b2B_Itemrequired | array[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. |
| isRewards | boolean | Flag indicating whether this order is part of a rewards or loyalty programme fulfilment. When `true`, the warehouse may apply specific handling procedures. Optional. |
| companyID | string | PGS360 company identifier used in multi-company deployments to route the order to the correct legal entity or billing account. Optional. |
| warehouse | string | Code of the specific PGS360 warehouse facility that should fulfil this order. If omitted, PGS360 will assign the default warehouse for the account. Optional. |
| isSmallParcel | boolean | When `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
/api/Outbound/B2BUpdate 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
| Field | Type | Description |
|---|---|---|
| orderNorequired | string | Your 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. |
| orderDaterequired | string | The date of the order in `yyyy-MM-dd` format (e.g., `2024-03-15`). Required. |
| promiseDate | string | The promised delivery date to the consignee, in `yyyy-MM-dd` format. Optional; used for retailer compliance and warehouse scheduling. |
| divisionNo | string | Division or business-unit code within the customer's account structure, as configured in PGS360. Optional; used for multi-division customer accounts. |
| customerNo | string | The customer account number in PGS360. Optional; if omitted, the account associated with the authentication token is used. |
| billToName | string | Name of the company or individual to be billed for this order. Appears on the invoice generated by the warehouse. Optional. |
| billToAddress1 | string | Primary street line of the billing address. Optional. |
| billToAddress2 | string | Secondary line of the billing address (suite, floor, etc.). Optional. |
| billToAddress3 | string | Tertiary line of the billing address (e.g., department or attention line). Optional. |
| billToCity | string | City of the billing address. Optional. |
| billToState | string | State or province code of the billing address (e.g., `CA`). Optional. |
| billToZipCode | string | Postal or ZIP code of the billing address. Optional. |
| billToCountryCode | string | Country code of the billing address (ISO 3166-1 alpha-2 or alpha-3). Optional. |
| shipToNamerequired | string | Name of the consignee or ship-to party (retailer, DC, or customer). Appears on shipping labels. Required. |
| shipToAddress1required | string | Primary street line of the ship-to address. Required. |
| shipToAddress2 | string | Secondary line of the ship-to address (suite, dock, etc.). Optional. |
| shipToAddress3 | string | Tertiary line of the ship-to address. Optional. |
| shipToCityrequired | string | City of the ship-to address. Required. |
| shipToStaterequired | string | State or province code of the ship-to address (e.g., `NY`). Required. |
| shipToZipCoderequired | string | Postal or ZIP code of the ship-to address. Required. |
| shipToCountryCoderequired | string | Country code of the ship-to address (ISO 3166-1 alpha-2 or alpha-3, e.g., `US`, `CA`). Required. |
| emailAddress | string | Email address for shipping notifications or order communication. Optional. |
| phoneNumber | string | Phone number for the ship-to contact or consignee. Used by carriers for delivery exception notifications. Optional. |
| shipVia | string | Shipping method or carrier instruction code (e.g., `"UPS"`, `"FEDEX"`, `"LTL"`). May be overridden by `carrierName` and `freightType`. Optional. |
| comment | string | Free-text comment or special instruction for the warehouse (e.g., `"Pallet labels required"`, `"Call before delivery"`). Optional. |
| salesTaxSchedule | string | Tax schedule code used for sales tax calculation on the invoice. Refer to your PGS360 account configuration for valid values. Optional. |
| salesTaxAmount | string | Sales tax amount to be applied to this order, expressed as a numeric string (e.g., `"12.50"`). Optional. |
| discountAmount | string | Discount amount applied to the order total, expressed as a numeric string. Optional. |
| freightAmount | string | Freight charge amount billed to the customer, expressed as a numeric string. Optional. |
| masterOrderID | string | Reference to a master or parent order that this order belongs to. Used for consolidation or multi-shipment order grouping. Optional. |
| customerID | string | An alternate customer identifier used for cross-referencing with external systems. Optional. |
| regionID | string | Region code used for routing, sales territory reporting, or carrier rate selection. Optional. |
| carrierName | string | Name 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. |
| freightType | string | Freight payment type or billing terms (e.g., `"Prepaid"`, `"Collect"`, `"Third Party"`). Optional. |
| b2B_Itemrequired | array[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. |
| isRewards | boolean | Flag indicating whether this order is part of a rewards or loyalty programme fulfilment. When `true`, the warehouse may apply specific handling procedures. Optional. |
| companyID | string | PGS360 company identifier used in multi-company deployments to route the order to the correct legal entity or billing account. Optional. |
| warehouse | string | Code of the specific PGS360 warehouse facility that should fulfil this order. If omitted, PGS360 will assign the default warehouse for the account. Optional. |
| isSmallParcel | boolean | When `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
/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
| Name | In | Description |
|---|---|---|
| OrderNorequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| OrderNorequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| Daterequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| OrderNorequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| Daterequired | path |
Responses
/api/Outbound/B2B/OpenRetrieve 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
/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
| Name | In | Description |
|---|---|---|
| OrderNorequired | path |
Responses
B2C
/api/Outbound/B2CCreate 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
| Field | Type | Description |
|---|---|---|
| orderNumberrequired | string | Your 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. |
| orderDaterequired | string | Order date in `yyyy-MM-dd` format. Required. |
| carrier | string | Carrier to be used for this shipment (e.g., `"UPS"`, `"FedEx"`, `"USPS"`). Optional; if omitted, the warehouse's default carrier for the account applies. |
| serviceType | string | Carrier service level (e.g., `"Ground"`, `"Priority"`, `"2Day"`). Optional; must be a valid service level for the specified carrier. |
| shipToFirstNamerequired | string | First name of the consumer recipient. Appears on the shipping label. Required. |
| shipToLastNamerequired | string | Last name of the consumer recipient. Appears on the shipping label. Required. |
| shipToAddress1required | string | Primary street line of the consumer's delivery address. Required. |
| shipToAddress2 | string | Secondary delivery address line (apartment, unit, suite). Optional. |
| shipToCityrequired | string | City of the delivery address. Required. |
| shipToStaterequired | string | State or province code of the delivery address (e.g., `"CA"`). Required. |
| shipToZipCoderequired | string | Postal or ZIP code of the delivery address. Required. |
| shipToCountryCode_Alfa2required | string | ISO 3166-1 alpha-2 country code for the delivery address (e.g., `"US"`, `"CA"`, `"GB"`). Must be exactly 2 characters. Required. |
| shipToPhone | string | Consumer's phone number for carrier delivery notifications and exception handling. Optional but strongly recommended. |
| shipIsResidential | boolean | Set to `true` if the delivery address is a residential location. Affects carrier surcharge calculations (residential delivery fees). Required. |
| b2C_Itemrequired | array[B2CRequest_Item] | Array of SKUs and quantities to be shipped in this order. At least one item is required. |
| companyID | string | PGS360 company identifier for multi-company deployments. Optional. |
| warehouse | string | Code of the specific PGS360 warehouse to fulfil this order from. Optional; defaults to the account's assigned warehouse. |
| notes | string | Free-text special handling instructions or order notes for the warehouse (e.g., `"Gift wrap requested"`, `"Leave at door"`). Optional. |
| source | string | Identifies the originating channel or system for this order (e.g., `"Shopify"`, `"Amazon"`, `"Website"`). Used for reporting and channel attribution. Optional. |
Responses
/api/Outbound/B2CUpdate 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
| Field | Type | Description |
|---|---|---|
| orderNumberrequired | string | Your 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. |
| orderDaterequired | string | Order date in `yyyy-MM-dd` format. Required. |
| carrier | string | Carrier to be used for this shipment (e.g., `"UPS"`, `"FedEx"`, `"USPS"`). Optional; if omitted, the warehouse's default carrier for the account applies. |
| serviceType | string | Carrier service level (e.g., `"Ground"`, `"Priority"`, `"2Day"`). Optional; must be a valid service level for the specified carrier. |
| shipToFirstNamerequired | string | First name of the consumer recipient. Appears on the shipping label. Required. |
| shipToLastNamerequired | string | Last name of the consumer recipient. Appears on the shipping label. Required. |
| shipToAddress1required | string | Primary street line of the consumer's delivery address. Required. |
| shipToAddress2 | string | Secondary delivery address line (apartment, unit, suite). Optional. |
| shipToCityrequired | string | City of the delivery address. Required. |
| shipToStaterequired | string | State or province code of the delivery address (e.g., `"CA"`). Required. |
| shipToZipCoderequired | string | Postal or ZIP code of the delivery address. Required. |
| shipToCountryCode_Alfa2required | string | ISO 3166-1 alpha-2 country code for the delivery address (e.g., `"US"`, `"CA"`, `"GB"`). Must be exactly 2 characters. Required. |
| shipToPhone | string | Consumer's phone number for carrier delivery notifications and exception handling. Optional but strongly recommended. |
| shipIsResidential | boolean | Set to `true` if the delivery address is a residential location. Affects carrier surcharge calculations (residential delivery fees). Required. |
| b2C_Itemrequired | array[B2CRequest_Item] | Array of SKUs and quantities to be shipped in this order. At least one item is required. |
| companyID | string | PGS360 company identifier for multi-company deployments. Optional. |
| warehouse | string | Code of the specific PGS360 warehouse to fulfil this order from. Optional; defaults to the account's assigned warehouse. |
| notes | string | Free-text special handling instructions or order notes for the warehouse (e.g., `"Gift wrap requested"`, `"Leave at door"`). Optional. |
| source | string | Identifies the originating channel or system for this order (e.g., `"Shopify"`, `"Amazon"`, `"Website"`). Used for reporting and channel attribution. Optional. |
Responses
/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
| Name | In | Description |
|---|---|---|
| Daterequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| OrderNorequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| Daterequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| OrderNorequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| OrderNumberrequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| OrderNumberrequired | path |
Responses
/api/Outbound/B2C/OpenRetrieve 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
CustomerAddress
/api/CustomerAddressRegister 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
| Field | Type | Description |
|---|---|---|
| companyNamerequired | string | Legal or trading name of the company at this address. Used as the addressee on shipping labels and purchase order documents. Required. |
| street1required | string | Primary street address line (street number and name). Required. |
| street2 | string | Secondary address line for suite, unit, floor, or building identifiers. Optional; omit if not applicable. |
| cityrequired | string | City or municipality name. Required. |
| staterequired | string | State, province, or region code. For US addresses use the two-letter USPS state abbreviation (e.g., `CA`, `TX`). Required. |
| ziprequired | string | Postal 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. |
| countryCoderequired | string | ISO 3166-1 country code. Use the same format (alpha-2 or alpha-3) that is used in your outbound and inbound order requests. Required. |
| phone | string | Contact phone number for this address. Recommended for carrier delivery notifications and exception handling. Optional. |
| string | Contact email address. Used for delivery notifications and exception handling communications. Optional. |
Responses
Inbound
/api/InboundCreate 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
| Field | Type | Description |
|---|---|---|
| purchaseOrderNorequired | string | Your unique purchase order number for this inbound shipment. This is the primary key used in all subsequent status queries, updates, and cancellations. Required. |
| custpo | string | Your internal or buyer-side purchase order reference number. Used when the PGS360 PO number and your internal PO number differ. Optional. |
| apDivisionNo | string | Accounts Payable division number identifying the vendor's billing division in PGS360's financial setup. Optional. |
| vendorNo | string | Vendor account number in PGS360 identifying the supplying vendor. Optional. |
| vendorNamerequired | string | Legal or trading name of the vendor supplying the goods. Required. |
| vendorAddress1required | string | Primary street line of the vendor's address (origin of the shipment). Required. |
| vendorAddress2 | string | Secondary line of the vendor's address (suite, unit, etc.). Optional. |
| vendorAddress3 | string | Tertiary line of the vendor's address. Optional. |
| vendorCityrequired | string | City of the vendor's address. Required. |
| vendorStaterequired | string | State or province code of the vendor's address (e.g., `"TX"`). Required. |
| vendorZipCoderequired | string | Postal or ZIP code of the vendor's address. Required. |
| vendorCountryrequired | string | Country code of the vendor's address (ISO 3166-1 alpha-2 or alpha-3). Required. |
| shipToName | string | Name of the warehouse or receiving facility where the goods will be delivered. Optional; defaults to the PGS360 warehouse name if omitted. |
| shipToAddress1 | string | Primary street line of the receiving warehouse address. Optional. |
| shipToAddress2 | string | Secondary line of the receiving address. Optional. |
| shipToAddress3 | string | Tertiary line of the receiving address. Optional. |
| shipToCity | string | City of the receiving warehouse. Optional. |
| shipToState | string | State code of the receiving warehouse (e.g., `"CA"`). Optional. |
| shipToZipCode | string | Postal or ZIP code of the receiving warehouse. Optional. |
| shipToCountryCode | string | Country code of the receiving warehouse (ISO 3166-1 alpha-2 or alpha-3). Optional. |
| arDivisionNo | string | Accounts Receivable division number for the customer account in PGS360's financial setup. Optional. |
| customerNo | string | Customer account number in PGS360 associated with this inbound order. Optional. |
| requireDate | string | Date by which the goods are required at the warehouse, in `yyyy-MM-dd` format. Used for warehouse scheduling and prioritisation. Optional. |
| receivingPurchaseOrder | string | An alternate or receiving PO number used internally by the warehouse or 3PL. Optional. |
| scheduledDate | string | Expected date of delivery at the warehouse (Advance Shipment Notice date), in `yyyy-MM-dd` format. Helps the warehouse plan dock appointments. Optional. |
| inbound_Itemrequired | array[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. |
| companyID | string | PGS360 company identifier for multi-company deployments. Optional. |
| warehouse | string | Code of the specific PGS360 warehouse where the inbound goods should be received. Optional; defaults to the account's primary warehouse. |
| isReturned | boolean |
Responses
/api/InboundUpdate 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
| Field | Type | Description |
|---|---|---|
| purchaseOrderNorequired | string | Your unique purchase order number for this inbound shipment. This is the primary key used in all subsequent status queries, updates, and cancellations. Required. |
| custpo | string | Your internal or buyer-side purchase order reference number. Used when the PGS360 PO number and your internal PO number differ. Optional. |
| apDivisionNo | string | Accounts Payable division number identifying the vendor's billing division in PGS360's financial setup. Optional. |
| vendorNo | string | Vendor account number in PGS360 identifying the supplying vendor. Optional. |
| vendorNamerequired | string | Legal or trading name of the vendor supplying the goods. Required. |
| vendorAddress1required | string | Primary street line of the vendor's address (origin of the shipment). Required. |
| vendorAddress2 | string | Secondary line of the vendor's address (suite, unit, etc.). Optional. |
| vendorAddress3 | string | Tertiary line of the vendor's address. Optional. |
| vendorCityrequired | string | City of the vendor's address. Required. |
| vendorStaterequired | string | State or province code of the vendor's address (e.g., `"TX"`). Required. |
| vendorZipCoderequired | string | Postal or ZIP code of the vendor's address. Required. |
| vendorCountryrequired | string | Country code of the vendor's address (ISO 3166-1 alpha-2 or alpha-3). Required. |
| shipToName | string | Name of the warehouse or receiving facility where the goods will be delivered. Optional; defaults to the PGS360 warehouse name if omitted. |
| shipToAddress1 | string | Primary street line of the receiving warehouse address. Optional. |
| shipToAddress2 | string | Secondary line of the receiving address. Optional. |
| shipToAddress3 | string | Tertiary line of the receiving address. Optional. |
| shipToCity | string | City of the receiving warehouse. Optional. |
| shipToState | string | State code of the receiving warehouse (e.g., `"CA"`). Optional. |
| shipToZipCode | string | Postal or ZIP code of the receiving warehouse. Optional. |
| shipToCountryCode | string | Country code of the receiving warehouse (ISO 3166-1 alpha-2 or alpha-3). Optional. |
| arDivisionNo | string | Accounts Receivable division number for the customer account in PGS360's financial setup. Optional. |
| customerNo | string | Customer account number in PGS360 associated with this inbound order. Optional. |
| requireDate | string | Date by which the goods are required at the warehouse, in `yyyy-MM-dd` format. Used for warehouse scheduling and prioritisation. Optional. |
| receivingPurchaseOrder | string | An alternate or receiving PO number used internally by the warehouse or 3PL. Optional. |
| scheduledDate | string | Expected date of delivery at the warehouse (Advance Shipment Notice date), in `yyyy-MM-dd` format. Helps the warehouse plan dock appointments. Optional. |
| inbound_Itemrequired | array[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. |
| companyID | string | PGS360 company identifier for multi-company deployments. Optional. |
| warehouse | string | Code of the specific PGS360 warehouse where the inbound goods should be received. Optional; defaults to the account's primary warehouse. |
| isReturned | boolean |
Responses
/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
| Name | In | Description |
|---|---|---|
| PurchaseOrderNorequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| PurchaseOrderNorequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| Daterequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| POrequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| Daterequired | path |
Responses
/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
| Name | In | Description |
|---|---|---|
| orderNorequired | path |
Responses
Inventory
/api/Inventory/CurrentInventoryQuery 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
| Name | In | Description |
|---|---|---|
| SKU | query | |
| startposition | query | |
| maxresults | query |
Responses
Security
/api/Security/TokenObtain 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
| Field | Type | Description |
|---|---|---|
| userIdrequired | string | Your PGS360-assigned username or user ID. This is provided by PGS360 during onboarding. Required. |
| passwdrequired | string | Password associated with the `userId`. Keep this value secure and never expose it in client-side code or logs. Required. |
Responses
Sku
/api/SkuCreate 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
| Field | Type | Description |
|---|---|---|
| skurequired | string | Unique 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. |
| shortDescriptionrequired | string | Brief, concise description of the product (typically up to 30 characters). Appears on pick lists, packing slips, and WMS screens. Required. |
| longDescriptionrequired | string | Full product description (up to 255 characters). Used on invoices, shipping documents, and customer-facing reports. Required. |
| upc | string | Universal Product Code (UPC-A, EAN-13, or similar barcode) for the individual unit. Used for scanning during receiving, picking, and shipping. Optional. |
| itemTypeCoderequired | string | Product type classification code as configured in PGS360 (e.g., `"EACH"`, `"KIT"`, `"BULK"`). Determines handling rules in the WMS. Required. |
| lotControlrequired | boolean | Set 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. |
| storageCategory | string | Warehouse 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. |
| cycleCountCategory | string | Category code determining the frequency and method of cycle counting for this SKU (e.g., `"A"`, `"B"`, `"C"` in ABC analysis). Optional. |
| hazardousClassificationStorage | string | Hazardous material classification code for storage purposes (e.g., `"3"` for flammable liquids per GHS/OSHA). Required when `isHazardousStorage` is `true`. Optional otherwise. |
| hazardousClassificationTransportation | string | Hazardous material classification code for transportation (e.g., UN hazmat class as required by DOT/IATA). Required when `isHazardousTransportation` is `true`. Optional otherwise. |
| formula | string | Product formula or compound identifier, used in regulated or pharmaceutical contexts to track product formulation. Optional. |
| masterCaseUPC | string | UPC or barcode of the master case (outer carton) containing multiple units of this SKU. Used for scanning at receiving and during palletisation. Optional. |
| masterCaseLengthrequired | integer | Length of the master case in the unit defined by `pieceDimsUOM` (or a consistent dimension unit). Minimum value: 1. Required. |
| masterCaseWidthrequired | integer | Width of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required. |
| masterCaseHeightrequired | integer | Height of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required. |
| skuUomrequired | string | The 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. |
| piecesPerCaserequired | integer | Number of individual units (pieces/eaches) contained in one master case. Used for case-pick operations and inventory calculations. Minimum value: 1. Required. |
| casesPerPalletrequired | integer | Standard number of master cases per pallet tier and height configuration for this SKU. Used for pallet build and load planning. Minimum value: 1. Required. |
| pieceLength | integer | Length of a single unit (piece/each) in the unit defined by `pieceDimsUOM`. Optional; used for dimensional weight calculations and small parcel rating. |
| pieceWidth | integer | Width of a single unit in the unit defined by `pieceDimsUOM`. Optional. |
| pieceHeight | integer | Height of a single unit in the unit defined by `pieceDimsUOM`. Optional. |
| pieceDimsUOM | string | Unit 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. |
| pieceWeightrequired | number | Weight of a single unit (piece/each) expressed in the unit defined by `pieceWeightUOM`. Used for freight rating and shipping label generation. Required. |
| pieceWeightUOMrequired | string | Unit of measure for `pieceWeight` (e.g., `"LB"` for pounds, `"KG"` for kilograms). Required. |
| isHazmatrequired | boolean | Master 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. |
| isHazardousTransportation | boolean | Set to `true` if this SKU is classified as dangerous goods for transportation purposes (e.g., requires DOT or IATA hazmat labelling during shipping). Optional. |
| isHazardousStorage | boolean | Set to `true` if this SKU requires hazardous storage conditions (e.g., flammable storage area, segregated racking). Optional. |
| companyID | string | PGS360 company identifier to associate this SKU with a specific legal entity in multi-company deployments. Optional. |
| measureUnitrequired | string | Overall unit of measure used for the SKU in system reporting and EDI (may be the same as `skuUom`). Required. |
| stockReleaseMethodrequired | string | Method 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
/api/SkuUpdate 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
| Field | Type | Description |
|---|---|---|
| skurequired | string | Unique 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. |
| shortDescriptionrequired | string | Brief, concise description of the product (typically up to 30 characters). Appears on pick lists, packing slips, and WMS screens. Required. |
| longDescriptionrequired | string | Full product description (up to 255 characters). Used on invoices, shipping documents, and customer-facing reports. Required. |
| upc | string | Universal Product Code (UPC-A, EAN-13, or similar barcode) for the individual unit. Used for scanning during receiving, picking, and shipping. Optional. |
| itemTypeCoderequired | string | Product type classification code as configured in PGS360 (e.g., `"EACH"`, `"KIT"`, `"BULK"`). Determines handling rules in the WMS. Required. |
| lotControlrequired | boolean | Set 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. |
| storageCategory | string | Warehouse 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. |
| cycleCountCategory | string | Category code determining the frequency and method of cycle counting for this SKU (e.g., `"A"`, `"B"`, `"C"` in ABC analysis). Optional. |
| hazardousClassificationStorage | string | Hazardous material classification code for storage purposes (e.g., `"3"` for flammable liquids per GHS/OSHA). Required when `isHazardousStorage` is `true`. Optional otherwise. |
| hazardousClassificationTransportation | string | Hazardous material classification code for transportation (e.g., UN hazmat class as required by DOT/IATA). Required when `isHazardousTransportation` is `true`. Optional otherwise. |
| formula | string | Product formula or compound identifier, used in regulated or pharmaceutical contexts to track product formulation. Optional. |
| masterCaseUPC | string | UPC or barcode of the master case (outer carton) containing multiple units of this SKU. Used for scanning at receiving and during palletisation. Optional. |
| masterCaseLengthrequired | integer | Length of the master case in the unit defined by `pieceDimsUOM` (or a consistent dimension unit). Minimum value: 1. Required. |
| masterCaseWidthrequired | integer | Width of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required. |
| masterCaseHeightrequired | integer | Height of the master case in the same dimension unit as `masterCaseLength`. Minimum value: 1. Required. |
| skuUomrequired | string | The 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. |
| piecesPerCaserequired | integer | Number of individual units (pieces/eaches) contained in one master case. Used for case-pick operations and inventory calculations. Minimum value: 1. Required. |
| casesPerPalletrequired | integer | Standard number of master cases per pallet tier and height configuration for this SKU. Used for pallet build and load planning. Minimum value: 1. Required. |
| pieceLength | integer | Length of a single unit (piece/each) in the unit defined by `pieceDimsUOM`. Optional; used for dimensional weight calculations and small parcel rating. |
| pieceWidth | integer | Width of a single unit in the unit defined by `pieceDimsUOM`. Optional. |
| pieceHeight | integer | Height of a single unit in the unit defined by `pieceDimsUOM`. Optional. |
| pieceDimsUOM | string | Unit 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. |
| pieceWeightrequired | number | Weight of a single unit (piece/each) expressed in the unit defined by `pieceWeightUOM`. Used for freight rating and shipping label generation. Required. |
| pieceWeightUOMrequired | string | Unit of measure for `pieceWeight` (e.g., `"LB"` for pounds, `"KG"` for kilograms). Required. |
| isHazmatrequired | boolean | Master 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. |
| isHazardousTransportation | boolean | Set to `true` if this SKU is classified as dangerous goods for transportation purposes (e.g., requires DOT or IATA hazmat labelling during shipping). Optional. |
| isHazardousStorage | boolean | Set to `true` if this SKU requires hazardous storage conditions (e.g., flammable storage area, segregated racking). Optional. |
| companyID | string | PGS360 company identifier to associate this SKU with a specific legal entity in multi-company deployments. Optional. |
| measureUnitrequired | string | Overall unit of measure used for the SKU in system reporting and EDI (may be the same as `skuUom`). Required. |
| stockReleaseMethodrequired | string | Method 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
/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
| Name | In | Description |
|---|---|---|
| SKUrequired | path |
Responses
VendorAddress
/api/VendorAddressRegister 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
| Field | Type | Description |
|---|---|---|
| companyNamerequired | string | Legal or trading name of the company at this address. Used as the addressee on shipping labels and purchase order documents. Required. |
| street1required | string | Primary street address line (street number and name). Required. |
| street2 | string | Secondary address line for suite, unit, floor, or building identifiers. Optional; omit if not applicable. |
| cityrequired | string | City or municipality name. Required. |
| staterequired | string | State, province, or region code. For US addresses use the two-letter USPS state abbreviation (e.g., `CA`, `TX`). Required. |
| ziprequired | string | Postal 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. |
| countryCoderequired | string | ISO 3166-1 country code. Use the same format (alpha-2 or alpha-3) that is used in your outbound and inbound order requests. Required. |
| phone | string | Contact phone number for this address. Recommended for carrier delivery notifications and exception handling. Optional. |
| string | Contact email address. Used for delivery notifications and exception handling communications. Optional. |