---
title: Get Price by Location
slug: api-documentation/get-price-by-location
docTags: 
createdAt: 2026-08-27T17:06:08.900Z
---

{
  "id": "CwVYtuK35joLOmiVB9rU_",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.upstartcommerce.com/v1/pricing/info/location",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/v1/pricing/info/location"
      }
    ],
    "name": "Get Price by Location",
    "description": "<p>This endpoint returns the price by location and asset id.</p>\n<p>Authorized permissions:</p>\n<ul>\n<li><code>pricing.read</code></li>\n</ul>\n<p>Authorized roles:</p>\n<ul>\n<li>customer.default</li>\n<li>customer.anonymous</li>\n</ul>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        },
        {
          "kind": "required",
          "name": "x-upstart-tenant",
          "type": "string",
          "description": "Tenant identifier associated with the site this call is for."
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "description": "The asset and location pairs to return prices for.",
          "customType": "PricingInfoLocationQuery",
          "schema": [
            {
              "name": "currency",
              "kind": "optional",
              "type": "string",
              "description": "",
              "example": "USD",
              "pattern": "^[A-Z]{3}$"
            },
            {
              "name": "date",
              "kind": "optional",
              "type": "string<date>",
              "description": "",
              "format": "date"
            },
            {
              "name": "locationAssetIds",
              "kind": "required",
              "type": "map",
              "description": "<p>This is a map of items-keyed by location id, with values a set of the requested asset ids.</p>",
              "example": "",
              "customType": "map<string, string[]>",
              "schema": []
            },
            {
              "name": "zoneDefault",
              "kind": "optional",
              "type": "string",
              "description": ""
            },
            {
              "name": "timezoneId",
              "kind": "optional",
              "type": "string",
              "description": "<p>Timezone id (tz database). If not specified - tenant's default timezone is used.</p>",
              "example": "America/Denver"
            }
          ],
          "modelRef": "#/components/schemas/PricingInfoLocationQuery",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "NoChannelPortalAccess",
          "name": "NoChannelPortalAccess",
          "kind": "optional",
          "type": "http",
          "description": "<p>This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "scheme": "bearer"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p>Success-relevant prices returned.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "array",
            "description": "<p>The prices resolved for an asset at a location, with the zone they were resolved through.</p>",
            "customType": "PricingInfoLocation[]",
            "schema": [
              {
                "name": "assetId",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "currency",
                "kind": "required",
                "type": "string",
                "description": "",
                "example": "USD",
                "pattern": "^[A-Z]{3}$"
              },
              {
                "name": "listPrice",
                "kind": "optional",
                "type": "number",
                "description": "",
                "minimum": 0,
                "exclusiveMinimum": true
              },
              {
                "name": "locationId",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "msrpPrice",
                "kind": "optional",
                "type": "number",
                "description": "",
                "minimum": 0,
                "exclusiveMinimum": true
              },
              {
                "name": "salePrice",
                "kind": "optional",
                "type": "number",
                "description": "",
                "minimum": 0,
                "exclusiveMinimum": true
              },
              {
                "name": "zone",
                "kind": "required",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/PricingInfoLocation",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "The request contained information that the server was unable to process. Appropriate errors are provided in the response body.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Error payload returned when a request fails validation, identifying the offending input by name and code.</p>",
            "customType": "ValidationErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ValidationErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Standard error payload identifying a failure by name, code and detail, with an optional machine-readable reason.</p>",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "403",
        "description": "<p>An update to this resource requires the if-match and if-unmodified-since headers to be sent in order to process the request.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Standard error payload identifying a failure by name, code and detail, with an optional machine-readable reason.</p>",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "J2nrwj8hBho0864mznmKs",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.upstartcommerce.com/v1/pricing/info/location \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --header 'x-upstart-tenant: string' \\\n     --data '{\n     \"locationAssetIds\": \"\"\n     }'"
        },
        {
          "id": "kMUgFGCV59JrgjCgLaLPL",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\nmyHeaders.append(\"x-upstart-tenant\", \"string\");\n\nvar raw = JSON.stringify({\n   \"locationAssetIds\": \"\"\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.upstartcommerce.com/v1/pricing/info/location\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "l4b9yQ7_MtkqfOQEdt5Dw",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/v1/pricing/info/location\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest[\"x-upstart-tenant\"] = \"string\"\nrequest.body = JSON.dump({\n   \"locationAssetIds\": \"\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "DeBUP_NVPyOLjCMHoWS3l",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/v1/pricing/info/location\"\n\npayload = json.dumps({\n   \"locationAssetIds\": \"\"\n})\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json',\n   'x-upstart-tenant': 'string'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "J2nrwj8hBho0864mznmKs"
    },
    "results": {
      "languages": [
        {
          "id": "x0BlczmYBLXJGFSKMIkdL",
          "language": "200",
          "code": "// Success-relevant prices returned.\n[\n  {\n    \"assetId\": \"\",\n    \"currency\": \"USD\",\n    \"listPrice\": 0,\n    \"locationId\": \"\",\n    \"msrpPrice\": 0,\n    \"salePrice\": 0,\n    \"zone\": \"\"\n  }\n]"
        },
        {
          "id": "cfDUQpdxcbkQTbey6ubeX",
          "language": "400",
          "code": "// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\"\n}"
        },
        {
          "id": "f_kD4rBPQGthsAQFN-UvU",
          "language": "401",
          "code": "// The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "OrnTp66FaherqQpPvB9DM",
          "language": "403",
          "code": "// An update to this resource requires the if-match and if-unmodified-since headers to be sent in order to process the request.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "x0BlczmYBLXJGFSKMIkdL"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}