> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer-stage.shipbob.dev/2026-07/api/locations/get-locations/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer-stage.shipbob.dev/_mcp/server. # Get Locations GET https://sandbox-api.shipbob.com/2026-07/location Retrieves physical locations across ShipBob's fulfillment network. An active location (`is_active=true`) is operational for fulfillment processes, including receiving inventory and processing returns. Access to locations varies: some are available to all merchants by default, while others require special approval. Use the `AccessGranted` parameter to determine if a location is available to the authenticated user, and `ReceivingEnabled` to confirm if the location accepts inventory. Reference: https://developer-stage.shipbob.dev/api/locations/get-locations ## Authentication - `Authorization` header (bearer token, required) — Authentication using Personal Access Token (PAT) token - `Authorization` header (bearer token, required) — OAuth2 authentication using JWT tokens ## Request ### Query parameters - `IncludeInactive` (boolean, optional) — Whether the inactive locations should be included or not - `ReceivingEnabled` (boolean, optional) — Return all the receiving enabled locations - `AccessGranted` (boolean, optional) — Return all the access granted locations ## Response ### 200 Success - `list of Locations.LocationViewModel` ## Errors ### 401 Unauthorized Error Authorization missing or invalid - `any` ### 403 Forbidden Error The provided credentials are not authorized to access this resource - `any` ## Types ### Locations.LocationViewModel - `abbreviation` (string, optional, nullable) — Abbreviation of the location. Combination of nearest Airport Code and the sequence number. - `access_granted` (boolean, optional) — Indicates whether or not the user is authorized to interact at all with the location - `attributes` (list of string, optional, nullable) — Available attributes for the location - `id` (integer, optional) — Id of the location in ShipBob’s database - `is_active` (boolean, optional) — Indicates if the location is operationally active or inactive - `is_receiving_enabled` (boolean, optional) — Indicates if the receiving is enabled for FC - `is_shipping_enabled` (boolean, optional) — Indicates if the shipping is enabled for FC - `name` (string, optional, nullable) — Name of the location. Follows the naming convention City (State Code) for domestic FCs and City (Country Code) for international FCs - `region` (Locations.FulfillmentCenterRegionViewModel, optional) - `services` (list of Locations.ServiceViewModel, optional, nullable) — Services provided by the location - `timezone` (string, optional, nullable) — Time zone of the location ### Locations.FulfillmentCenterRegionViewModel - `id` (integer, optional) — Unique Id for the location region - `name` (string, optional, nullable) — Name of the region the location is in. ### Locations.ServiceViewModel - `address` (Locations.AddressViewModel, optional) — The service-specific address of the location. Each object contains address type, address1, address2, city, state, country, zip code, phone number, and email - `enabled` (boolean, optional) — Indicates if the user is authorized to access this service at the location - `service_type` (enum, optional) - Allowed values: `Receiving`, `Returns` ### Locations.AddressViewModel The service-specific address of the location. Each object contains address type, address1, address2, city, state, country, zip code, phone number, and email - `address1` (string, optional, nullable) — First part of the address of the location for this service - `address2` (string, optional, nullable) — Second part of the address of the location for this service - `city` (string, optional, nullable) — City of the location - `country` (string, optional, nullable) — Country of the location - `email` (string, optional, nullable) — Email of the location for this service - `name` (string, optional, nullable) — Name to use in the address of the location for this service - `phone_number` (string, optional, nullable) — Phone Number of the location for this service - `state` (string, optional, nullable) — State of the location - `zip_code` (string, optional, nullable) — Zip code of the location ## Examples **Response** ```json [ { "abbreviation": "string", "access_granted": true, "attributes": [ "string" ], "id": 0, "is_active": true, "is_receiving_enabled": true, "is_shipping_enabled": true, "name": "string", "region": { "id": 0, "name": "string" }, "services": [ { "address": { "address1": "string", "address2": "string", "city": "string", "country": "string", "email": "string", "name": "string", "phone_number": "string", "state": "string", "zip_code": "string" }, "enabled": true, "service_type": "Receiving" } ], "timezone": "string" } ] ``` **SDK Code** ```python default import requests url = "https://sandbox-api.shipbob.com/2026-07/location" querystring = {"IncludeInactive":"true","ReceivingEnabled":"true","AccessGranted":"true"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript default const url = 'https://sandbox-api.shipbob.com/2026-07/location?IncludeInactive=true&ReceivingEnabled=true&AccessGranted=true'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go default package main import ( "fmt" "net/http" "io" ) func main() { url := "https://sandbox-api.shipbob.com/2026-07/location?IncludeInactive=true&ReceivingEnabled=true&AccessGranted=true" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby default require 'uri' require 'net/http' url = URI("https://sandbox-api.shipbob.com/2026-07/location?IncludeInactive=true&ReceivingEnabled=true&AccessGranted=true") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java default import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://sandbox-api.shipbob.com/2026-07/location?IncludeInactive=true&ReceivingEnabled=true&AccessGranted=true") .header("Authorization", "Bearer ") .asString(); ``` ```php default request('GET', 'https://sandbox-api.shipbob.com/2026-07/location?IncludeInactive=true&ReceivingEnabled=true&AccessGranted=true', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp default using RestSharp; var client = new RestClient("https://sandbox-api.shipbob.com/2026-07/location?IncludeInactive=true&ReceivingEnabled=true&AccessGranted=true"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift default import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://sandbox-api.shipbob.com/2026-07/location?IncludeInactive=true&ReceivingEnabled=true&AccessGranted=true")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```