Warehouses
scope: locationsWarehouses are the physical locations where your inventory is stored and shipments are fulfilled. Use this endpoint to retrieve the list of warehouse locations available to your organization. Warehouse IDs are referenced when creating shipments and appear in stock level breakdowns.
Where warehouses are referenced
Warehouse IDs appear in shipment creation, shipment responses, and stock level breakdowns. List warehouses first to get valid IDs.
Endpoints
/v0/warehousesList all active warehouse locations for your organization
Where Warehouses Are Used
Warehouse IDs are required or returned across several parts of the API:
| Context | Usage |
|---|---|
| Creating shipments | Pass warehouseId when creating Pick & Pack or SPD drafts to specify which warehouse fulfills the shipment. |
| Shipment responses | Every shipment includes a warehouse object with the ID and name. |
| Stock level breakdowns | Both product and carton breakdowns include per-warehouse quantities. |
| SPD submit validation | Stock checks verify carton availability at the specific warehouse assigned to the shipment. |
List Warehouses
Returns a list of all active warehouses available to your organization. Warehouses are managed by the 3PLGuys team — this endpoint is read-only.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
skip | number | Number of records to skip (default: 0) |
take | number | Number of records to return (default: 10, max: 10) |
curl "https://api.3plguys.com/v0/warehouses" \-H "Authorization: Bearer <token>"
const res = await fetch("https://api.3plguys.com/v0/warehouses", {headers: { Authorization: `Bearer ${token}` },});const warehouses = await res.json();
res = httpx.get("https://api.3plguys.com/v0/warehouses",headers={"Authorization": f"Bearer {token}"},)warehouses = res.json()
[{"id": "1","name": "3PLGuys","description": null,"address": {"name": "3PLGuys","line1": "14512 Garfield Ave Paramount, CA 90723","line2": "","district": "","city": "Paramount","state": "CA","countryCode": "US","postalCode": "90723"},"contact": {"name": "3PLGUYS","email": "info@3plguys.com","phoneNumber": "(866) 373-8599","fax": ""},"tags": []}]
Response Fields
| Parameter | Type | Description |
|---|---|---|
id* | string | Unique warehouse ID (referenced in shipment creation and stock breakdowns) |
name* | string | Human-readable warehouse name |
description* | string | null | Optional warehouse description |
address* | object | Warehouse address (see address fields below) |
address.name* | string | Display name of the address |
address.line1* | string | Primary address line |
address.line2* | string | Secondary address line |
address.district* | string | District or sub-region |
address.city* | string | City name |
address.state* | string | State or province code |
address.countryCode* | string | Two-letter country code (ISO 3166-1 alpha-2) |
address.postalCode* | string | Postal code or ZIP code |
contact* | object | Warehouse contact info (see contact fields below) |
contact.name* | string | Contact person or company name |
contact.email* | string | Contact email address |
contact.phoneNumber* | string | Contact phone number |
contact.fax* | string | Contact fax number |
tags* | string[] | List of tags associated with the warehouse |
Example: Create Shipment with Warehouse
First list warehouses to get the ID, then use it when creating a shipment:
curl "https://api.3plguys.com/v0/warehouses" \-H "Authorization: Bearer <token>"
curl -X POST "https://api.3plguys.com/v0/shipments/spd" \-H "Authorization: Bearer <token>" \-H "Content-Type: application/json" \-d '{ "warehouseId": "1" }'
Error Responses
403Missing required scope: locationsYour OAuth token does not have the locations scope. Request the scope during authorization.