Jumpseller API
Endpoint Structure
All URLs are in the format:
The path is prefixed by the API version and the URL takes as parameters the login (your store specific API login) and your authentication token.
Version
The current version of the API is v1.
If we change the API in backward-incompatible ways, we'll increase the version number and maintain stable support for the old urls.
Authentication
The API uses a token-based authentication with a combination of a login key and an auth token. Both parameters can be found on the left sidebar of the Account section, accessed from the main menu of your Admin Panel. The auth token of the user can be reset on the same page.

The auth token is a 32 characters string.
If you are developing a Jumpseller App, the authentication should be done using . Please read the article for more information.
Curl Examples
To request all the products at your store, you would append the products index path to the base url to create an URL with the format:
In curl, you can invoque that URL with:
To create a product, you will include the JSON data and specify the MIME Type:
and to update the product identified with 123:
or delete it:
PHP Examples
Create a new Product (POST method)
Plain JSON only. No XML.
- We only support JSON for data serialization.
- Our node format has no root element.
- We use snake_case to describe attribute keys (like "created_at").
- All empty value are replaced with null strings.
- All API URLs end in .json to indicate that they accept and return JSON.
- POST and PUT methods require you to explicitly state the MIME type of your request's body content as "application/json".
Rate Limit
You can perform a maximum of:
- 240 (two hundred forty) requests per minute and
- 8 (eight) requests per second
If you exceed this limit, you'll get a 403 Forbidden (Rate Limit Exceeded) response for subsequent requests.
The rate limits apply by IP address and by store. This means that multiple requests on different stores are not counted towards the same rate limit.
This limits are necessary to ensure resources are correctly used. Your application should be aware of this limits and retry any unsuccessful request, check the following Ruby stub:
Finally, you can review the Response Headers of each request:
to better model your application requests intervals.
In the event of getting your IP banned, the Response Header Jumpseller-BannedByRateLimit-Reset informs you the time when will your ban be reseted.
Pagination
By default we will return 50 objects (products, orders, etc) per page. There is a maximum of 100, using a query string &limit=100.
If the result set gets paginated it is your responsibility to check the next page for more objects -- you do this by using query strings &page=2, &page=3 and so on.
More
- provides a public Ruby abstraction over our API;
- showcases external integrations with Jumpseller done by technical experts;
- provides an easy way to upload and temporaly host for images and files.
https://api.jumpseller.com/v1/path.json?login=XXXXXX&authtoken=storetoken https://api.jumpseller.com/v1/products.json?login=XXXXXX&authtoken=XXXXXcurl -X GET "https://api.jumpseller.com/v1/products.json?login=XXXXXX&authtoken=XXXXX"curl -X POST -d '{ "product" : {"name": "My new Product!", "price": 100} }' "https://api.jumpseller.com/v1/products.json?login=XXXXXX&authtoken=XXXXX" -H "Content-Type:application/json"curl -X PUT -d '{ "product" : {"name": "My updated Product!", "price": 99} }' "https://api.jumpseller.com/v1/products/123.json?login=XXXXXX&authtoken=XXXXX" -H "Content-Type:application/json"curl -X DELETE "https://api.jumpseller.com/v1/products/123.json?login=XXXXXX&authtoken=XXXXX" -H "Content-Type:application/json"$url = 'https://api.jumpseller.com/v1/products.json?login=XXXXX&authtoken=XXXXX;$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); //post methodcurl_setopt($ch, CURLOPT_POSTFIELDS, '{ "product" : {"name": "My updated Product!", "price": 99} }');
$result = curl_exec($ch);print_r($result);curl_close($ch);tries = 0; max_tries = 3;begin HTTParty.send(method, uri) # perform an API call. sleep 0.5 tries += 1rescue unless tries >= max_tries sleep 1.0 # wait the necessary time before retrying the call again. retry endendJumpseller-PerMinuteRateLimit-Limit: 60 Jumpseller-PerMinuteRateLimit-Remaining: 59 # requests available on the per-second interval Jumpseller-PerSecondRateLimit-Limit: 2 Jumpseller-PerSecondRateLimit-Remaining: 1 # requests available on the per-second intervalhttps://api.jumpseller.com/v1/products.json?login=XXXXXX&authtoken=XXXXX&page=3&limit=100- Homepage
- https://api.apis.guru/v2/specs/jumpseller.com/1.0.0.json
- Provider
- jumpseller.com
- OpenAPI version
- 2.0
- Spec (JSON)
- https://api.apis.guru/v2/specs/jumpseller.com/1.0.0/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/jumpseller.com/1.0.0/openapi.yaml
Tools (144)
Extracted live via the executor SDK.
-
apps.deleteJsappsCodeJsonDelete an existing JSApp.
-
apps.getJsappsCodeJsonRetrieve a JSApp.
-
apps.getJsappsJsonRetrieve all the Store's JSApps.
-
apps.postJsappsJsonCreate a Store JSApp.
-
categories.deleteCategoriesIdJsonDelete an existing Category.
-
categories.getCategoriesCountJsonCount all Categories.
-
categories.getCategoriesIdJsonRetrieve a single Category.
-
categories.getCategoriesJsonRetrieve all Categories.
-
categories.postCategoriesJsonCategory's permalink is automatically generated from the given category's name.
-
categories.putCategoriesIdJsonModify an existing Category.
-
checkoutCustomFields.deleteCheckoutCustomFieldsIdJsonDelete an existing CheckoutCustomField.
-
checkoutCustomFields.getCheckoutCustomFieldsIdJsonRetrieve a single CheckoutCustomField.
-
checkoutCustomFields.getCheckoutCustomFieldsJsonRetrieve all Checkout Custom Fields.
-
checkoutCustomFields.postCheckoutCustomFieldsJsonType values can be: input, selection, checkbox, date or text. Area values can be: contact, billing_shipping or other.
-
checkoutCustomFields.putCheckoutCustomFieldsIdJsonUpdate a CheckoutCustomField.
-
countries.getCountriesCountryCodeJsonRetrieve a single Country information.
-
countries.getCountriesCountryCodeRegionsJsonRetrieve all Regions from a single Country.
-
countries.getCountriesCountryCodeRegionsRegionCodeJsonRetrieve a single Region information object.
-
countries.getCountriesJsonRetrieve all Countries.
-
customerAdditionalFields.deleteCustomersIdFieldsFieldIdDelete a Customer Additional Field.
-
customerAdditionalFields.getCustomersIdFieldsRetrieves the Customer Additional Field of a Customer.
-
customerAdditionalFields.getCustomersIdFieldsFieldIdRetrieve a single Customer Additional Field.
-
customerAdditionalFields.postCustomersIdFieldsAdds Customer Additional Fields to a Customer.
-
customerAdditionalFields.putCustomersIdFieldsFieldIdUpdate a Customer Additional Field.
-
customerCategories.deleteCustomerCategoriesIdCustomersJsonDelete Customers from an existing CustomerCategory.
-
customerCategories.deleteCustomerCategoriesIdJsonDelete an existing CustomerCategory.
-
customerCategories.getCustomerCategoriesIdCustomersJsonRetrieves the customers in a CustomerCategory.
-
customerCategories.getCustomerCategoriesIdJsonRetrieve a single CustomerCategory.
-
customerCategories.getCustomerCategoriesJsonRetrieve all Customer Categories.
-
customerCategories.postCustomerCategoriesIdCustomersJsonAdds Customers to a CustomerCategory.
-
customerCategories.postCustomerCategoriesJsonCreate a new CustomerCategory.
-
customerCategories.putCustomerCategoriesIdJsonUpdate a CustomerCategory.
-
customers.deleteCustomersIdJsonDelete an existing Customer.
-
customers.getCustomersCountJsonCount all Customers.
-
customers.getCustomersEmailEmailJsonRetrieve a single Customer by email.
-
customers.getCustomersIdJsonRetrieve a single Customer by id.
-
customers.getCustomersJsonRetrieve all Customers.
-
customers.postCustomersJsonCreate a new Customer.
-
customers.putCustomersIdJsonUpdate a new Customer.
-
customFields.deleteCustomFieldsIdJsonDelete an existing CustomField.
-
customFields.deleteCustomFieldsIdSelectOptionsCustomFieldSelectOptionIdJsonDelete an existing CustomFieldSelectOption.
-
customFields.getCustomFieldsIdJsonRetrieve a single CustomField.
-
customFields.getCustomFieldsJsonRetrieve all Store's Custom Fields.
-
customFields.postCustomFieldsJsonCreate a new Custom Field.
-
customFields.putCustomFieldsIdJsonUpdate a CustomField.
-
customFieldSelectOptions.getCustomFieldsIdSelectOptionsCustomFieldSelectOptionIdJsonRetrieve a single SelectOption from a CustomField.
-
customFieldSelectOptions.getCustomFieldsIdSelectOptionsJsonRetrieve all Store's Custom Fields.
-
customFieldSelectOptions.postCustomFieldsIdSelectOptionsJsonCreate a new Custom Field Select Option.
-
customFieldSelectOptions.putCustomFieldsIdSelectOptionsCustomFieldSelectOptionIdJsonUpdate a SelectOption from a CustomField.
-
fulfillments.getFulfillmentsCountJsonCount all Fulfillments.
-
fulfillments.getFulfillmentsIdJsonRetrieve a single Fulfillment.
-
fulfillments.getFulfillmentsJsonRetrieve all Fulfillments.
-
fulfillments.getOrderIdFulfillmentsJsonRetrieve the Fulfillments associated with the Order.
-
hooks.deleteHooksIdJsonDelete an existing Hook.
-
hooks.getHooksIdJsonRetrieve a single Hook.
-
hooks.getHooksJsonRetrieve all Hooks.
-
hooks.postHooksJsonCreate a new Hook.
-
hooks.putHooksIdJsonUpdate a Hook.
-
orders.getOrdersAfterIdJsonFor example the GET /orders/after/5000 will return Order 5001, 5002, 5003, etc.
-
orders.getOrdersCountJsonCount all Orders.
-
orders.getOrdersIdHistoryJsonRetrieve all Order History.
-
orders.getOrdersIdJsonRetrieve a single Order.
-
orders.getOrdersJsonRetrieve all Orders.
-
orders.getOrdersStatusStatusJsonRetrieve orders filtered by status.
-
orders.postOrdersIdHistoryJsonCreate a new Order History Entry.
-
orders.postOrdersJsonOrders created externally keep the given order product's values (bypassing internal promotion or product amounts).
-
orders.putOrdersIdJsonOnly
status,shipment_status,tracking_number,tracking_company,tracking_url,additional_informationandadditional_fieldsare available for update. An email is send ifshipment_statuschanges. -
pages.deletePagesIdJsonDelete an existing Page.
-
pages.getPagesCountJsonCount all Pages.
-
pages.getPagesIdJsonRetrieve a single Page by id.
-
pages.getPagesJsonRetrieve all Pages.
-
pages.postPagesJsonCreate a new Page.
-
pages.putPagesIdJsonUpdate a Page.
-
partners.getPartnersStoresJsonRetrieve statistics.
-
partners.getStoreCheckStatusJsonRetrive store creation status.
-
partners.postStoreCreateJsonCreate a Partnered Store
-
paymentMethods.getPaymentMethodsIdJsonRetrieve a single Payment Method.
-
paymentMethods.getPaymentMethodsJsonRetrieve all Store's Payment Methods.
-
productAttachments.deleteProductsIdAttachmentsAttachmentIdJsonDelete a Product Attachment.
-
productAttachments.getProductsIdAttachmentsAttachmentIdJsonRetrieve a single Product Attachment.
-
productAttachments.getProductsIdAttachmentsCountJsonCount all Product Attachments.
-
productAttachments.getProductsIdAttachmentsJsonRetrieve all Product Attachments.
-
productAttachments.postProductsIdAttachmentsJsonCreate a new Product Attachment.
-
productCustomFields.deleteProductsProductIdFieldsFieldIdJsonDelete value of Product Custom Field
-
productCustomFields.getProductsIdFieldsCountJsonCount all Product Custom Fields.
-
productCustomFields.getProductsIdFieldsJsonRetrieve all Product Custom Fields
-
productCustomFields.postProductsIdFieldsJsonAdd an existing Custom Field to a Product.
-
productCustomFields.putProductsProductIdFieldsFieldIdJsonUpdate value of Product Custom Field
-
productDigitalProducts.deleteProductsIdDigitalProductsDigitalProductIdJsonDelete a Product DigitalProduct.
-
productDigitalProducts.getProductsIdDigitalProductsCountJsonCount all Product DigitalProducts.
-
productDigitalProducts.getProductsIdDigitalProductsDigitalProductIdJsonRetrieve a single Product DigitalProduct.
-
productDigitalProducts.getProductsIdDigitalProductsJsonRetrieve all Product DigitalProducts.
-
productDigitalProducts.postProductsIdDigitalProductsJsonCreate a new Product DigitalProduct.
-
productImages.deleteProductsIdImagesImageIdJsonDelete a Product Image.
-
productImages.getProductsIdImagesCountJsonCount all Product Images.
-
productImages.getProductsIdImagesImageIdJsonRetrieve a single Product Image.
-
productImages.getProductsIdImagesJsonRetrieve all Product Images.
-
productImages.postProductsIdImagesJsonCreate a new Product Image.
-
productOptions.deleteProductsIdOptionsOptionIdJsonDelete a Product Option.
-
productOptions.getProductsIdOptionsCountJsonCount all Product Options.
-
productOptions.getProductsIdOptionsJsonRetrieve all Product Options.
-
productOptions.getProductsIdOptionsOptionIdJsonRetrieve a single Product Option.
-
productOptions.postProductsIdOptionsJsonCreate a new Product Option.
-
productOptions.putProductsIdOptionsOptionIdJsonModify an existing Product Option.
-
productOptionValues.deleteProductsIdOptionsOptionIdValuesValueIdJsonDelete a Product Option Value.
-
productOptionValues.getProductsIdOptionsOptionIdValuesCountJsonCount all Product Option Values.
-
productOptionValues.getProductsIdOptionsOptionIdValuesJsonRetrieve all Product Option Values.
-
productOptionValues.getProductsIdOptionsOptionIdValuesValueIdJsonRetrieve a single Product Option Value.
-
productOptionValues.postProductsIdOptionsOptionIdValuesJsonCreate a new Product Option Value.
-
productOptionValues.putProductsIdOptionsOptionIdValuesValueIdJsonModify an existing Product Option Value.
-
products.deleteProductsIdJsonDelete an existing Product.
-
products.getProductsAfterIdJsonRetrieves Products after the given id.
-
products.getProductsCategoryCategoryIdCountJsonCount Products filtered by category.
-
products.getProductsCategoryCategoryIdJsonRetrieve Products filtered by category.
-
products.getProductsCountJsonCount all Products.
-
products.getProductsIdJsonRetrieve a single Product.
-
products.getProductsJsonRetrieve all Products.
-
products.getProductsSearchJsonEndpoint example:
-
products.getProductsStatusStatusCountJsonCount Products filtered by status.
-
products.getProductsStatusStatusJsonRetrieve Products filtered by status.
-
products.postProductsJsonCreate a new Product.
-
products.putProductsIdJsonModify an existing Product.
-
productVariants.getProductsIdVariantsCountJsonCount all Product Variants.
-
productVariants.getProductsIdVariantsJsonRetrieve all Product Variants.
-
productVariants.getProductsIdVariantsVariantIdJsonRetrieve a single Product Variant.
-
productVariants.postProductsIdVariantsJsonCreate a new Product Variant.
-
productVariants.putProductsIdVariantsVariantIdJsonModify an existing Product Variant.
-
promotions.deletePromotionsIdJsonDelete an existing Promotion.
-
promotions.getPromotionsIdJsonRetrieve a single Promotion.
-
promotions.getPromotionsJsonRetrieve all Promotions.
-
promotions.postPromotionsJsonCreate a new Promotion.
-
promotions.putPromotionsIdJsonUpdate a Promotion.
-
shippingMethods.deleteShippingMethodsIdJsonDelete an existing Shipping Method.
-
shippingMethods.getShippingMethodsIdJsonRetrieve a single Shipping Method.
-
shippingMethods.getShippingMethodsJsonRetrieve all Store's Shipping Methods.
-
shippingMethods.postShippingMethodsJsonCreates a Shipping Method.
-
shippingMethods.putShippingMethodsIdJsonUpdate a Shipping Method.
-
stores.getStoreInfoJsonRetrieve Store Information.
-
stores.getStoreLanguagesJson -
taxes.getTaxesIdJsonRetrieve a single Tax information.
-
taxes.getTaxesJsonRetrieve all Taxes.
-
taxes.postTaxesJsonCreate a new Tax.
-
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools