Jumpseller Products Locations API
The Products Locations API from Jumpseller — 2 operation(s) for products locations.
The Products Locations API from Jumpseller — 2 operation(s) for products locations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/jumpseller-com:jumpseller-com-products-locations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Jumpseller Com Products Locations API
version: 1.0.0
x-logo:
url: https://api.jumpseller.com/images/jumpseller-logo-full.svg
altText: Jumpseller logo
href: /
description: 'Operations tagged Products Locations across 2 of this provider''s published API definitions: jumpseller-com-openapi-openapi.json, jumpseller-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.jumpseller.com/v1
tags:
- name: Products Locations
paths:
/products_locations:
get:
tags:
- Products Locations
summary: Stock by Product and Location
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- read_products
parameters:
- name: location_ids
in: query
description: List of location IDs (comma separated)
required: true
style: form
explode: false
schema:
type: array
items:
type: integer
maxItems: 50
- name: product_ids
in: query
description: List of product IDs (comma separated)
required: true
style: form
explode: false
schema:
type: array
items:
type: integer
maxItems: 50
- name: variant_ids
in: query
description: List of variant IDs (comma separated)
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
maxItems: 50
responses:
'200':
description: Array of products locations
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProductsLocationsWithoutStockUnlimited'
'404':
description: Not found
x-codeSamples:
- lang: Shell
label: cURL
source: curl -u XXXXX:YYYYY -X GET "https://api.jumpseller.com/v1/products_locations"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products_locations'';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);
curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);
$response = curl_exec($ch);
curl_close($ch);
echo $response;'
- lang: Ruby
label: Ruby
source: 'require ''net/http''
require ''json''
uri = URI(''https://api.jumpseller.com/v1/products_locations'')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request.basic_auth(''XXXXX'', ''YYYYY'')
request[''Content-Type''] = ''application/json''
response = http.request(request)
puts JSON.parse(response.body)'
- lang: Python
label: Python
source: "import requests\n\nresponse = requests.get(\n 'https://api.jumpseller.com/v1/products_locations',\n auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products_locations', {\n method: 'GET',\n headers: {\n 'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n 'Content-Type': 'application/json'\n }\n});\n\nconst data = await response.json();\nconsole.log(data);"
operationId: getProductsLocations
x-operation-id-source: derived
put:
tags:
- Products Locations
summary: Update Stock by Product and Location
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- write_products
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductsLocations'
responses:
'200':
description: Products locations updated successfully
'400':
description: Bad request, check your parameters
'500':
description: Error while updating stock error
x-codeSamples:
- lang: Shell
label: cURL
source: "curl -u XXXXX:YYYYY -X PUT \"https://api.jumpseller.com/v1/products_locations\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"location_id\": 123, \"product_id\": 123, \"variant_id\": 123, \"stock_unlimited\": true, \"stock\": 1}'"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products_locations'';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);
curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ''PUT'');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([''location_id'' => 123, ''product_id'' => 123, ''variant_id'' => 123, ''stock_unlimited'' => true, ''stock'' => 1]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;'
- lang: Ruby
label: Ruby
source: 'require ''net/http''
require ''json''
uri = URI(''https://api.jumpseller.com/v1/products_locations'')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Put.new(uri)
request.basic_auth(''XXXXX'', ''YYYYY'')
request[''Content-Type''] = ''application/json''
request.body = { location_id: 123, product_id: 123, variant_id: 123, stock_unlimited: true, stock: 1 }.to_json
response = http.request(request)
puts JSON.parse(response.body)'
- lang: Python
label: Python
source: "import requests\n\nresponse = requests.put(\n 'https://api.jumpseller.com/v1/products_locations',\n auth=('XXXXX', 'YYYYY'),\n json={'location_id': 123, 'product_id': 123, 'variant_id': 123, 'stock_unlimited': True, 'stock': 1}\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products_locations', {\n method: 'PUT',\n headers: {\n 'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\"location_id\": 123, \"product_id\": 123, \"variant_id\": 123, \"stock_unlimited\": true, \"stock\": 1})\n});\n\nconst data = await response.json();\nconsole.log(data);"
operationId: putProductsLocations
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
/products_locations.json:
get:
tags:
- Products Locations
summary: Stock by Product and Location
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- read_products
parameters:
- name: location_ids
in: query
description: List of location IDs (comma separated)
required: true
style: form
explode: false
schema:
type: array
items:
type: integer
maxItems: 50
- name: product_ids
in: query
description: List of product IDs (comma separated)
required: true
style: form
explode: false
schema:
type: array
items:
type: integer
maxItems: 50
- name: variant_ids
in: query
description: List of variant IDs (comma separated)
required: false
style: form
explode: false
schema:
type: array
items:
type: integer
maxItems: 50
responses:
'200':
description: Array of products locations
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProductsLocationsWithoutStockUnlimited_2'
'404':
description: Stock location combinations not found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'400':
description: location_ids or product_ids missing.
content:
application/json:
schema:
$ref: '#/components/schemas/BadParams'
x-codeSamples:
- lang: Shell
label: cURL
source: curl -u XXXXX:YYYYY -X GET "https://api.jumpseller.com/v1/products_locations.json?location_ids=1,2&product_ids=123"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products_locations.json?location_ids=1,2&product_ids=123'';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);
curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);
$response = curl_exec($ch);
curl_close($ch);
echo $response;'
- lang: Ruby
label: Ruby
source: 'require ''net/http''
require ''json''
uri = URI(''https://api.jumpseller.com/v1/products_locations.json?location_ids=1,2&product_ids=123'')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request.basic_auth(''XXXXX'', ''YYYYY'')
request[''Content-Type''] = ''application/json''
response = http.request(request)
puts JSON.parse(response.body)'
- lang: Python
label: Python
source: "import requests\n\nresponse = requests.get(\n 'https://api.jumpseller.com/v1/products_locations.json',\n params={'location_ids': '1,2', 'product_ids': '123'},\n auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products_locations.json?location_ids=1,2&product_ids=123', {\n method: 'GET',\n headers: {\n 'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n 'Content-Type': 'application/json'\n }\n});\n\nconst data = await response.json();\nconsole.log(data);"
operationId: getProductsLocationsJson
x-operation-id-source: derived
put:
tags:
- Products Locations
summary: Update Stock by Product and Location
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- write_products
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProductsLocations'
responses:
'200':
description: Stock location updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageObject'
'404':
description: A required parameter is missing, or the Product, Variant or Location was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
'500':
description: Error while updating stock.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageObject'
x-codeSamples:
- lang: Shell
label: cURL
source: "curl -u XXXXX:YYYYY -X PUT \"https://api.jumpseller.com/v1/products_locations.json\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"location_id\": 123, \"product_id\": 123, \"variant_id\": 123, \"stock_unlimited\": true, \"stock\": 1}'"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products_locations.json'';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $login . '':'' . $authtoken);
curl_setopt($ch, CURLOPT_HTTPHEADER, [''Content-Type: application/json'']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, ''PUT'');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([''location_id'' => 123, ''product_id'' => 123, ''variant_id'' => 123, ''stock_unlimited'' => true, ''stock'' => 1]));
$response = curl_exec($ch);
curl_close($ch);
echo $response;'
- lang: Ruby
label: Ruby
source: 'require ''net/http''
require ''json''
uri = URI(''https://api.jumpseller.com/v1/products_locations.json'')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Put.new(uri)
request.basic_auth(''XXXXX'', ''YYYYY'')
request[''Content-Type''] = ''application/json''
request.body = { location_id: 123, product_id: 123, variant_id: 123, stock_unlimited: true, stock: 1 }.to_json
response = http.request(request)
puts JSON.parse(response.body)'
- lang: Python
label: Python
source: "import requests\n\nresponse = requests.put(\n 'https://api.jumpseller.com/v1/products_locations.json',\n auth=('XXXXX', 'YYYYY'),\n json={'location_id': 123, 'product_id': 123, 'variant_id': 123, 'stock_unlimited': True, 'stock': 1}\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products_locations.json', {\n method: 'PUT',\n headers: {\n 'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\"location_id\": 123, \"product_id\": 123, \"variant_id\": 123, \"stock_unlimited\": true, \"stock\": 1})\n});\n\nconst data = await response.json();\nconsole.log(data);"
operationId: putProductsLocationsJson
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
components:
schemas:
ProductsLocationsWithoutStockUnlimited:
type: object
properties:
location_id:
type: integer
product_id:
type: integer
variant_id:
type: integer
stock:
type: integer
ProductsLocations:
type: object
properties:
location_id:
type: integer
product_id:
type: integer
variant_id:
type: integer
stock_unlimited:
type: boolean
stock:
type: integer
required:
- location_id
- product_id
- stock_unlimited
- stock
MessageObject:
type: object
properties:
message:
type: string
ProductsLocationsWithoutStockUnlimited_2:
type: object
properties:
location_id:
type: integer
product_id:
type: integer
variant_id:
type:
- integer
- 'null'
stock:
type: integer
NotFound:
type: object
properties:
message:
type: string
BadParams:
type: object
properties:
message:
type: string
securitySchemes:
BasicAuthentication:
type: http
scheme: basic
description: Basic authentication in the format of `login:authtoken` or `partner_code:auth_token`.
loginParameter:
type: apiKey
in: query
name: login
description: API OAuth login. Learn how to get yours [here](#section/Authentication).
authtokenParameter:
type: apiKey
in: query
name: authtoken
description: API OAuth token. Learn how to get yours [here](#section/Authentication).
auth_tokenParameter:
type: apiKey
in: query
name: auth_token
description: Partner authentication token.
OAuth2:
type: oauth2
description: OAuth 2.0 authorization code flow. Register your app at the Jumpseller Admin Panel to get client credentials. See https://jumpseller.com/support/oauth-2/ for details.
flows:
authorizationCode:
authorizationUrl: https://accounts.jumpseller.com/oauth/authorize
tokenUrl: https://accounts.jumpseller.com/oauth/token
refreshUrl: https://accounts.jumpseller.com/oauth/token
scopes:
read_products: Read products, variants, images, options, and custom fields
write_products: Create, update, and delete products
read_orders: Read orders, fulfillments, and order history
write_orders: Create, update, and refund orders
read_customers: Read customer accounts and groups
write_customers: Create, update, and delete customers
read_categories: Read product categories
write_categories: Create, update, and delete categories
read_store: Read store information and settings
write_store: Update store settings
read_settings: Read store configuration
write_settings: Update store configuration
read_shipping_methods: Read shipping methods and rates
write_shipping_methods: Create and update shipping methods
read_payment_methods: Read payment methods
write_payment_methods: Create and update payment methods
read_hooks: Read webhooks
write_hooks: Create, update, and delete webhooks
read_promotions: Read promotions and discounts
write_promotions: Create, update, and delete promotions
read_taxes: Read tax rules
write_taxes: Create and update tax rules
read_pages: Read store pages
write_pages: Create, update, and delete pages
read_countries: Read country information
write_countries: Update country settings
read_custom_fields: Read product custom fields
write_custom_fields: Create and update custom fields
read_checkout_custom_fields: Read checkout additional fields
write_checkout_custom_fields: Update checkout additional fields
read_customer_categories: Read customer categories
write_customer_categories: Create and update customer categories
read_jsapps: Read JavaScript apps
write_jsapps: Create, update, and delete JavaScript apps
read_apps: Read installed apps
read_fulfillments: Read fulfillment information
write_fulfillments: Create and update fulfillments
read_locations: Read warehouse locations
write_locations: Create and update locations
write_reviews: Manage product reviews
read_transaction_ledgers: Read store balance
write_store_setup: Create new stores via the store setup endpoint
x-refined-from:
- jumpseller-com-openapi-openapi.json
- jumpseller-com-openapi.json