Jumpseller Product Attachments API
The Product Attachments API from Jumpseller — 3 operation(s) for product attachments.
The Product Attachments API from Jumpseller — 3 operation(s) for product attachments.
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-product-attachments-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 Product Attachments 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 Attachments 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 Attachments
paths:
/products/{id}/attachments.json:
get:
tags:
- Product Attachments
summary: Retrieve all Product Attachments
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/Attachment'
'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/attachments.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/attachments.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/attachments.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/attachments.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/attachments.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: getProductsByIdAttachmentsJson
x-operation-id-source: derived
post:
tags:
- Product Attachments
summary: Create a new Product Attachment
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- write_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
requestBody:
description: Product Attachment parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentEdit'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
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/attachments.json\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"attachment\": {\"filename\": \"example\", \"url\": \"https://example.com\"}}'"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/attachments.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([''attachment'' => [''filename'' => ''example'', ''url'' => ''https://example.com'']]));
$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/attachments.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 = { attachment: { filename: ''example'', url: ''https://example.com'' } }.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/attachments.json',\n auth=('XXXXX', 'YYYYY'),\n json={'attachment': {'filename': 'example', 'url': 'https://example.com'}}\n)\nprint(response.json())"
- lang: JavaScript
label: JavaScript
source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/attachments.json', {\n method: 'POST',\n headers: {\n 'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\"attachment\": {\"filename\": \"example\", \"url\": \"https://example.com\"}})\n});\n\nconst data = await response.json();\nconsole.log(data);"
operationId: postProductsByIdAttachmentsJson
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
/products/{id}/attachments/count.json:
get:
tags:
- Product Attachments
summary: Count all Product Attachments
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/attachments/count.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/attachments/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/attachments/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/attachments/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/attachments/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: getProductsByIdAttachmentsCountJson
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
/products/{id}/attachments/{attachment_id}.json:
get:
tags:
- Product Attachments
summary: Retrieve a single Product Attachment
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- read_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
- name: attachment_id
in: path
description: Id of the Product Attachment
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
'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/attachments/103.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/attachments/103.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/attachments/103.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/attachments/103.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/attachments/103.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: getProductsByIdAttachments{attachmentId}Json
x-operation-id-source: derived
delete:
tags:
- Product Attachments
summary: Delete a Product Attachment
security:
- BasicAuthentication:
- products
- loginParameter: []
authtokenParameter: []
- OAuth2:
- write_products
parameters:
- $ref: '#/components/parameters/ProductIDParam'
- name: attachment_id
in: path
description: Id of the Product Attachment
required: true
schema:
type: integer
format: int32
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/attachments/103.json"
- lang: PHP
label: PHP
source: '<?php
$login = ''XXXXX'';
$authtoken = ''YYYYY'';
$url = ''https://api.jumpseller.com/v1/products/123/attachments/103.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/attachments/103.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/attachments/103.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/attachments/103.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: deleteProductsByIdAttachments{attachmentId}Json
x-operation-id-source: derived
servers:
- url: https://api.jumpseller.com/v1
components:
schemas:
Count:
type: object
properties:
count:
type: integer
format: int32
AttachmentEditFields:
type: object
properties:
filename:
type: string
description: Filename of the attachment (with file extensison)
url:
type: string
description: 'Public accessible URL with the desired file contents. (LIMIT: 100MB)'
AttachmentFields:
type: object
properties:
id:
type: integer
description: Unique identifier of the attachment
format: int32
url:
type: string
description: Private URL of the attachment
NotFound:
type: object
properties:
message:
type: string
Attachment:
type: object
properties:
attachment:
$ref: '#/components/schemas/AttachmentFields'
AttachmentEdit:
type: object
properties:
attachment:
$ref: '#/components/schemas/AttachmentEditFields'
MessageObject:
type: object
properties:
message:
type: string
AttachmentEditFields_2:
type: object
properties:
filename:
type: string
description: Filename of the attachment (with file extension)
url:
type: string
description: 'Public accessible URL with the desired file contents. (LIMIT: 100MB)'
required:
- filename
- url
parameters:
ProductIDParam:
name: id
in: path
description: Id of the Product
required: true
schema:
type: integer
format: int32
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