Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Jumpseller Com Product DigitalProducts API
version: 1.0.0
x-logo:
url: https://api.jumpseller.com/images/jumpseller-logo-full.svg
altText: Jumpseller logo
href: /
description: 'Operations tagged Product DigitalProducts 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: Product DigitalProducts
paths:
/products/{id}/digital_products.json:
get:
tags:
- Product DigitalProducts
summary: Retrieve all Product DigitalProducts
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- read_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DigitalProduct'
'404':
description: Product Not Found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
x-codeSamples:
- lang: Shell
label: cURL
source: curl -u XXXXX:YYYYY -X GET "https://api.jumpseller.com/v1/products/123/digital_products.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/digital_products.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'']);
$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/123/digital_products.json'')
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/123/digital_products.json',\n auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/digital_products.json', {\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: getProductsByIdDigitalProductsJson
x-operation-id-source: derived
post:
tags:
- Product DigitalProducts
summary: Create a new Product DigitalProduct
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- write_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
requestBody:
description: Product DigitalProduct parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/DigitalProductEdit'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DigitalProduct'
x-codegen-request-body-name: body
x-codeSamples:
- lang: Shell
label: cURL
source: "curl -u XXXXX:YYYYY -X POST \"https://api.jumpseller.com/v1/products/123/digital_products.json\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"digital_product\": {\"filename\": \"example\", \"url\": \"https://example.com\", \"external\": true}}'"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/digital_products.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, ''POST'');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([''digital_product'' => [''filename'' => ''example'', ''url'' => ''https://example.com'', ''external'' => true]]));
$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/123/digital_products.json'')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request.basic_auth(''XXXXX'', ''YYYYY'')
request[''Content-Type''] = ''application/json''
request.body = { digital_product: { filename: ''example'', url: ''https://example.com'', external: true } }.to_json
response = http.request(request)
puts JSON.parse(response.body)'
- lang: Python
label: Python
source: "import requests\n\nresponse = requests.post(\n 'https://api.jumpseller.com/v1/products/123/digital_products.json',\n auth=('XXXXX', 'YYYYY'),\n json={'digital_product': {'filename': 'example', 'url': 'https://example.com', 'external': True}}\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/digital_products.json', {\n method: 'POST',\n headers: {\n 'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\"digital_product\": {\"filename\": \"example\", \"url\": \"https://example.com\", \"external\": true}})\n});\n\nconst data = await response.json();\nconsole.log(data);"
operationId: postProductsByIdDigitalProductsJson
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
/products/{id}/digital_products/count.json:
get:
tags:
- Product DigitalProducts
summary: Count all Product DigitalProducts
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- read_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Count'
'404':
description: Product Not Found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
x-codeSamples:
- lang: Shell
label: cURL
source: curl -u XXXXX:YYYYY -X GET "https://api.jumpseller.com/v1/products/123/digital_products/count.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/digital_products/count.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'']);
$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/123/digital_products/count.json'')
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/123/digital_products/count.json',\n auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/digital_products/count.json', {\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: getProductsByIdDigitalProductsCountJson
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
/products/{id}/digital_products/{digital_product_id}.json:
get:
tags:
- Product DigitalProducts
summary: Retrieve a single Product DigitalProduct
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- read_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
- name: digital_product_id
in: path
description: Id of the Product DigitalProduct
required: true
schema:
type: integer
format: int32
- $ref: '#/components/parameters/ExternalLinkParam'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DigitalProduct'
'404':
description: Product Not Found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
x-codeSamples:
- lang: Shell
label: cURL
source: curl -u XXXXX:YYYYY -X GET "https://api.jumpseller.com/v1/products/123/digital_products/104.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/digital_products/104.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'']);
$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/123/digital_products/104.json'')
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/123/digital_products/104.json',\n auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/digital_products/104.json', {\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: getProductsByIdDigitalProducts{digitalProductId}Json
x-operation-id-source: derived
delete:
tags:
- Product DigitalProducts
summary: Delete a Product DigitalProduct
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- write_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
- name: digital_product_id
in: path
description: Id of the Product DigitalProduct
required: true
schema:
type: integer
format: int32
requestBody:
description: Product DigitalProduct delete parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/DigitalProductDeleteFields'
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
type: string
'404':
description: Product Not Found.
content:
application/json:
schema:
$ref: '#/components/schemas/NotFound'
x-codeSamples:
- lang: Shell
label: cURL
source: curl -u XXXXX:YYYYY -X DELETE "https://api.jumpseller.com/v1/products/123/digital_products/104.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/digital_products/104.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'']);
$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/123/digital_products/104.json'')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Delete.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.delete(\n 'https://api.jumpseller.com/v1/products/123/digital_products/104.json',\n auth=('XXXXX', 'YYYYY')\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/digital_products/104.json', {\n method: 'DELETE',\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: deleteProductsByIdDigitalProducts{digitalProductId}Json
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
components:
schemas:
DigitalProductEditFields:
type: object
properties:
filename:
type: string
description: Filename of the digital product (with file extensison). Can be omitted if it's an external link
url:
type: string
description: 'Public accessible URL with the desired file contents. (LIMIT: 100MB)'
external:
type: boolean
required: false
description: true if it's an external link. If not present or false, it's a file
default: false
Count:
type: object
properties:
count:
type: integer
format: int32
DigitalProductFields:
type: object
properties:
id:
type: integer
description: Unique identifier of the digital product
format: int32
url:
type: string
description: Private URL of the digital product
expiration_seconds:
type: integer
description: Time left in seconds before the current private URL expires
format: int32
external:
type: boolean
required: false
description: true if it's an external link. If not present or false, it's a file
default: false
DigitalProductEdit:
type: object
properties:
digital_product:
$ref: '#/components/schemas/DigitalProductEditFields'
DigitalProduct:
type: object
properties:
digital_product:
$ref: '#/components/schemas/DigitalProductFields'
NotFound:
type: object
properties:
message:
type: string
DigitalProductDeleteFields:
type: object
properties:
external:
type: boolean
required: false
description: true if it's an external link. If not present or false, it's a file
default: false
MessageObject:
type: object
properties:
message:
type: string
DigitalProductEditFields_2:
type: object
properties:
filename:
type: string
description: Filename of the digital product (with file extension). Required unless it is an external link
url:
type: string
description: 'Public accessible URL with the desired file contents (LIMIT: 100MB), or the link itself when `external` is true'
external:
type: boolean
description: true if it's an external link. If not present or false, it's a file
default: false
required:
- url
DigitalProductFields_2:
type: object
properties:
id:
type: integer
description: Unique identifier of the digital product
format: int32
private_url:
type: string
description: Private URL of the digital product
expiration_seconds:
type: integer
description: Time left in seconds before the current private URL expires
format: int32
external:
type: boolean
description: true if it's an external link. Only present for external links
DigitalProductDeleteFields_2:
type: object
properties:
external:
type: boolean
description: true if it's an external link. If not present or false, it's a file
default: false
parameters:
ProductIDParam:
name: id
in: path
description: Id of the Product
required: true
schema:
type: integer
format: int32
ExternalLinkParam:
name: external
in: query
description: true if searching for an external link
required: false
schema:
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