Get stocklocation
A stock location is a physical address inventory can be held at — a name, street lines, city, province, country, postal code and a phone.
GET /v1/commerce/stocklocation/{stocklocationid}
| Address | https://api.hanzo.ai/v1/commerce/stocklocation/{stocklocationid} |
| Method | GET |
| Operation | get_commerce_stocklocation_by_stocklocationid |
| Auth | Authorization: Bearer $HANZO_API_KEY |
A stock location is a physical address inventory can be held at — a name, street lines, city, province, country, postal code and a phone. None of it is validated, there are no coordinates, and the row carries no enabled flag and no inventory link, so deleting it is the only way to retire one. Reads the addressed row from the caller org's own namespaced store. An id that is not there is 404 — and another tenant's id is not there by construction, so it reads exactly like a typo instead of confirming the row exists somewhere else. Any valid access token reaches it. The org must also be entitled to the commerce admin: the paywall answers 402 subscription_required unless the org holds an active or trialing pro subscription, a live trial credit or a redeemed invite, and 503 when that entitlement cannot be read rather than admitting on an unknown. A platform superadmin passes straight through. The per-kind permission table has no entry for stocklocation, so the scaffold skips that second check with a warning and the gate above is the whole authorization story.
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
stocklocationid | path | string | yes |
Response
The document declares no response body for this operation. It answers 200 on success and the platform error shape on failure — see Errors.
Examples
hanzo commerce stocklocation get <stocklocationid>import { Configuration, CommerceApi } from 'hanzoai';
const api = new CommerceApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getCommerceStocklocationByStocklocationid({ stocklocationid: 'stocklocationid' });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import CommerceApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = CommerceApi(client).get_commerce_stocklocation_by_stocklocationid(stocklocationid='stocklocationid')cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)
resp, _, err := client.CommerceAPI.GetCommerceStocklocationByStocklocationid(context.Background()).Execute()
if err != nil {
return err
}use hanzo_client::apis::{configuration::Configuration, commerce_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = commerce_api::get_commerce_stocklocation_by_stocklocationid(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.CommerceApi;
ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));
var result = new CommerceApi(client).getCommerceStocklocationByStocklocationid();curl https://api.hanzo.ai/v1/commerce/stocklocation/<stocklocationid> \
-H "Authorization: Bearer $HANZO_API_KEY"MCP reaches commerce through the commerce tool, which names its 5 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "describe",
"arguments": {
"op": "get_commerce_health"
}
}
}'