Jumpseller Product Variants API

The Product Variants API from Jumpseller — 3 operation(s) for product variants.

GitHub OpenAPI

Operations 5

GET /products/{id}/variants/{variant_id}.json Retrieve a single Product Variant #
PUT /products/{id}/variants/{variant_id}.json Modify an existing Product Variant #
GET /products/{id}/variants.json Retrieve all Product Variants #
POST /products/{id}/variants.json Create a new Product Variant #
GET /products/{id}/variants/count.json Count all Product Variants #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/jumpseller-com:jumpseller-com-product-variants-api"
All apis
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.

Get an API 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 Specification

jumpseller-com-product-variants-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Jumpseller Com Product Variants 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 Variants 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 Variants
paths:
  /products/{id}/variants/{variant_id}.json:
    get:
      tags:
      - Product Variants
      summary: Retrieve a single Product Variant
      security:
      - BasicAuthentication:
        - products
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - read_products
      parameters:
      - $ref: '#/components/parameters/ProductIDParam'
      - name: variant_id
        in: path
        description: Id of the Product Variant
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Variant'
        '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/variants/456.json"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/products/123/variants/456.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/variants/456.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/variants/456.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/variants/456.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: getProductsByIdVariants{variantId}Json
      x-operation-id-source: derived
    put:
      tags:
      - Product Variants
      summary: Modify an existing Product Variant
      security:
      - BasicAuthentication:
        - products
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - write_products
      parameters:
      - $ref: '#/components/parameters/ProductIDParam'
      - name: variant_id
        in: path
        description: Id of the Product Variant
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        description: Product Variant parameters to change
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VariantEdit'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Variant'
        '404':
          description: Product Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
      x-codegen-request-body-name: body
      x-codeSamples:
      - lang: Shell
        label: cURL
        source: "curl -u XXXXX:YYYYY -X PUT \"https://api.jumpseller.com/v1/products/123/variants/456.json\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"variant\": {\"price\": 99.99, \"sku\": \"example\", \"barcode\": \"ABC123\", \"stock\": 1, \"stock_unlimited\": true}}'"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/products/123/variants/456.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([''variant'' => [''price'' => 99.99, ''sku'' => ''example'', ''barcode'' => ''ABC123'', ''stock'' => 1, ''stock_unlimited'' => 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/variants/456.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 = { variant: { price: 99.99, sku: ''example'', barcode: ''ABC123'', stock: 1, stock_unlimited: true } }.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/123/variants/456.json',\n    auth=('XXXXX', 'YYYYY'),\n    json={'variant': {'price': 99.99, 'sku': 'example', 'barcode': 'ABC123', 'stock': 1, 'stock_unlimited': True}}\n)\nprint(response.json())"
      - lang: JavaScript
        label: JavaScript
        source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/variants/456.json', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\"variant\": {\"price\": 99.99, \"sku\": \"example\", \"barcode\": \"ABC123\", \"stock\": 1, \"stock_unlimited\": true}})\n});\n\nconst data = await response.json();\nconsole.log(data);"
      operationId: putProductsByIdVariants{variantId}Json
      x-operation-id-source: derived
    servers:
    - url: https://api.jumpseller.com/v1
  /products/{id}/variants.json:
    get:
      tags:
      - Product Variants
      summary: Retrieve all Product Variants
      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/Variant'
        '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/variants.json"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/products/123/variants.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/variants.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/variants.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/variants.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: getProductsByIdVariantsJson
      x-operation-id-source: derived
    post:
      tags:
      - Product Variants
      summary: Create a new Product Variant
      security:
      - BasicAuthentication:
        - products
      - loginParameter: []
        authtokenParameter: []
      - OAuth2:
        - write_products
      parameters:
      - $ref: '#/components/parameters/ProductIDParam'
      requestBody:
        description: Product Variant parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VariantEdit'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Variant'
        '404':
          description: Product Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFound'
      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/variants.json\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"variant\": {\"price\": 99.99, \"sku\": \"example\", \"barcode\": \"ABC123\", \"stock\": 1, \"stock_unlimited\": true}}'"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/products/123/variants.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([''variant'' => [''price'' => 99.99, ''sku'' => ''example'', ''barcode'' => ''ABC123'', ''stock'' => 1, ''stock_unlimited'' => 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/variants.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 = { variant: { price: 99.99, sku: ''example'', barcode: ''ABC123'', stock: 1, stock_unlimited: 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/variants.json',\n    auth=('XXXXX', 'YYYYY'),\n    json={'variant': {'price': 99.99, 'sku': 'example', 'barcode': 'ABC123', 'stock': 1, 'stock_unlimited': True}}\n)\nprint(response.json())"
      - lang: JavaScript
        label: JavaScript
        source: "const response = await fetch('https://api.jumpseller.com/v1/products/123/variants.json', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Basic ' + btoa('XXXXX:YYYYY'),\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({\"variant\": {\"price\": 99.99, \"sku\": \"example\", \"barcode\": \"ABC123\", \"stock\": 1, \"stock_unlimited\": true}})\n});\n\nconst data = await response.json();\nconsole.log(data);"
      operationId: postProductsByIdVariantsJson
      x-operation-id-source: derived
    servers:
    - url: https://api.jumpseller.com/v1
  /products/{id}/variants/count.json:
    get:
      tags:
      - Product Variants
      summary: Count all Product Variants
      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/variants/count.json"
      - lang: PHP
        label: PHP
        source: '<?php

          $login = ''XXXXX'';

          $authtoken = ''YYYYY'';

          $url = ''https://api.jumpseller.com/v1/products/123/variants/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/variants/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/variants/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/variants/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: getProductsByIdVariantsCountJson
      x-operation-id-source: derived
    servers:
    - url: https://api.jumpseller.com/v1
components:
  schemas:
    Count:
      type: object
      properties:
        count:
          type: integer
          format: int32
    VariantEdit:
      type: object
      properties:
        variant:
          $ref: '#/components/schemas/VariantEditFields'
    Variant:
      type: object
      properties:
        variant:
          $ref: '#/components/schemas/VariantFields'
    VariantEditFields:
      type: object
      properties:
        price:
          type: number
          description: Price of the product
          format: float
        sku:
          type: string
          description: Stock Keeping Unit of the Product's Variant
        barcode:
          type: string
          description: Barcode of the Product's Variant
          default: 123456
        stock:
          type: integer
          description: Quantity in stock for the Product's Variant
          format: int32
          default: 100
        stock_unlimited:
          type: boolean
          description: True if the Product's Variant has unlimited stock
        stock_threshold:
          type: integer
          description: Low stock threshold quantity.
          format: int32
          default: 0
        stock_notification:
          type: boolean
          description: True if the Product has low stock threshold quantity enabled
        cost_per_item:
          type: number
          description: Cost per item for the Product's Variant (only you can see this)
        compare_at_price:
          type: number
          description: Used to show a sale price. Value must be higher than the price
        image_id:
          type: integer
          description: Unique identifier of the product image to associate with this variant
          format: int32
        options:
          type: array
          items:
            $ref: '#/components/schemas/ProductOptionVariantEdit'
    ImageFields:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the image
          format: int32
        position:
          type: integer
          description: Position of the image
          format: int32
        url:
          type: string
          description: Complete URL of the image
    NotFound:
      type: object
      properties:
        message:
          type: string
    VariantFields:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the product
          format: int32
        price:
          type: number
          description: Price of the product
          format: float
        sku:
          type: string
          description: Stock Keeping Unit of the Product's Variant
        barcode:
          type: string
          description: Barcode of the Product's Variant
        stock:
          type: integer
          description: Quantity in stock for the Product's Variant
          format: int32
          default: 100
        stock_unlimited:
          type: boolean
          description: True if the Product's Variant has unlimited stock
        stock_threshold:
          type: integer
          description: Low stock threshold quantity.
          format: int32
          default: 0
        stock_notification:
          type: boolean
          description: True if the Product has low stock threshold quantity enabled
        cost_per_item:
          type: number
          description: Cost per item for the Product's Variant (only you can see this)
        compare_at_price:
          type: number
          description: Used to show a sale price. Value must be higher than the price
        options:
          type: array
          items:
            $ref: '#/components/schemas/ProductOptionVariantEdit'
        image:
          $ref: '#/components/schemas/ImageFields'
    ProductOptionVariantEdit:
      type: object
      properties:
        name:
          type: string
          description: Name of the product option
        option_type:
          type: string
          description: Type of the product option that generates variants
          enum:
          - option
          - color
        value:
          type: string
          description: Value of the product option
        custom:
          type: string
          description: Hexadecimal value of color. Only available for product option type 'Color'
        product_option_position:
          type: integer
          description: position of product option
          format: int32
        product_value_position:
          type: integer
          description: position of product option value
          format: int32
    ProductVariantOptionFields:
      type: object
      properties:
        product_option_id:
          type: integer
          format: int32
          description: Unique identifier of the product option
        product_option_value_id:
          type: integer
          format: int32
          description: Unique identifier of the product option value
        option_type:
          type: string
          enum:
          - option
          - color
          description: Type of the product option. Only present for option types that generate variants.
        name:
          type: string
          description: Name of the product option
        value:
          type: string
          description: Value of the product option
        custom:
          type:
          - string
          - 'null'
          description: Hexadecimal value of color. Only used for product option type 'color'
        product_option_position:
          type: integer
          format: int32
          description: Position of the product option
        product_value_position:
          type: integer
          format: int32
          description: Position of the product option value
    VariantEditFields_2:
      type: object
      properties:
        price:
          type: number
          description: Price of the Product's Variant
          format: float
        sku:
          type: string
          description: Stock Keeping Unit of the Product's Variant
        barcode:
          type: string
          description: Barcode of the Product's Variant
        stock:
          type: integer
          description: Quantity in stock for the Product's Variant
          format: int32
        stock_unlimited:
          type: boolean
          description: True if the Product's Variant has unlimited stock
        stock_threshold:
          type: integer
          description: Low stock threshold quantity.
          format: int32
          default: 0
        stock_notification:
          type: boolean
          description: True if the low stock threshold notification is enabled. Only applied when updating a variant.
        cost_per_item:
          type: number
          description: Cost per item for the Product's Variant (only you can see this)
        compare_at_price:
          type: number
          description: Used to show a sale price. Value must be higher than the price
        image_id:
          type: integer
          description: Unique identifier of the product image to associate with this variant
          format: int32
        options:
          type: array
          description: Option values that identify the variant. Required when creating a variant; ignored when updating one.
          items:
            $ref: '#/components/schemas/ProductOptionVariantEdit_2'
        weight:
          type: number
          format: float
          description: Weight of the Product's Variant
    VariantFields_2:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the Product's Variant
          format: int32
        position:
          type: integer
          format: int32
          description: Position of the Product's Variant
        created_at:
          type: string
          description: Date of the Product's Variant creation
        updated_at:
          type: string
          description: Date of the Product's Variant last update
        price:
          type: number
          description: Price of the Product's Variant
          format: float
        sku:
          type: string
          description: Stock Keeping Unit of the Product's Variant
        barcode:
          type: string
          description: Barcode of the Product's Variant
        stock:
          type: integer
          description: Quantity in stock for the Product's Variant
          format: int32
          default: 100
        stock_unlimited:
          type: boolean
          description: True if the Product's Variant has unlimited stock
        stock_threshold:
          type: integer
          description: Low stock threshold quantity.
          format: int32
          default: 0
        stock_notification:
          type: boolean
          description: True if the Product has low stock threshold quantity enabled
        cost_per_item:
          type:
          - number
          - 'null'
          description: Cost per item for the Product's Variant (only you can see this)
        compare_at_price:
          type:
          - number
          - 'null'
          description: Used to show a sale price. Value must be higher than the price
        options:
          type: array
          items:
            $ref: '#/components/schemas/ProductVariantOptionFields'
        image:
          $ref: '#/components/schemas/ImageFields'
        weight:
          type: number
          format: float
          description: Weight of the Product's Variant
        discount:
          type: number
          description: Discount of the Product's Variant
    BadParams:
      type: object
      properties:
        message:
          type: string
    ProductOptionVariantEdit_2:
      type: object
      properties:
        name:
          type: string
          description: Name of the product option. Created if it does not exist.
        option_type:
          type: string
          description: Type of the product option that generates variants
          default: option
          enum:
          - option
          - color
        value:
          type: string
          description: Value of the product option. Required; created if it does not exist.
        custom:
          type: string
          description: 'Hexadecimal value of color (e.g. #FF0000). Required for product option type ''color'''
      required:
      - name
      - value
  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