{"openapi":"3.1.0","info":{"title":"Jumpseller (BYOK) API","version":"0.1.0","description":"Jumpseller (BYOK) lets an AI assistant read your own Jumpseller data through the Jumpseller API with a key you supply (store API login (the login value from Account > API in the admin panel)). Read-only: 12 tools (get_store_info, list_orders, list_orders_by_status, get_order, count_orders, list_products, search_products, get_product, count_products, list_categories, list_promotions,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-jumpseller.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-jumpseller/docs"},"termsOfService":"https://connectorbay.com/byok-jumpseller/terms"},"servers":[{"url":"https://byok-jumpseller.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-jumpseller/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_store_info":{"post":{"operationId":"get_store_info","summary":"Show the Jumpseller store: name, code, URL, country, currency, timezone and weight unit. Use for \"Which Jumpseller store","description":"Show the Jumpseller store: name, code, URL, country, currency, timezone and weight unit. Use for \"Which Jumpseller store is this and what currency does it use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_store_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_orders":{"post":{"operationId":"list_orders","summary":"List store orders with status, totals, taxes, shipping, payment method, shipment status and tracking. Customer and addre","description":"List store orders with status, totals, taxes, shipping, payment method, shipment status and tracking. Customer and address details are not returned. Up to 200 per page. Use for \"What are the latest orders in my Jumpseller store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Records per page (1 to 200).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_ordersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_orders_by_status":{"post":{"operationId":"list_orders_by_status","summary":"List orders in one status: Abandoned, Canceled, Pending Payment or Paid. Customer and address details are not returned. ","description":"List orders in one status: Abandoned, Canceled, Pending Payment or Paid. Customer and address details are not returned. Use for \"Which Jumpseller orders are waiting for payment\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"description":"Order status to filter by.","enum":["Abandoned","Canceled","Pending Payment","Paid"],"title":"Status","type":"string"}},"required":["status"],"title":"list_orders_by_statusArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_order":{"post":{"operationId":"get_order","summary":"Get one order by id with status, totals, taxes, shipping, payment method, shipment status and tracking. Customer and add","description":"Get one order by id with status, totals, taxes, shipping, payment method, shipment status and tracking. Customer and address details are not returned. Use for \"Show Jumpseller order 1001\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Order id.","title":"Id","type":"integer"}},"required":["id"],"title":"get_orderArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/count_orders":{"post":{"operationId":"count_orders","summary":"Count all orders in the store. Use for \"How many orders does my Jumpseller store have\".","description":"Count all orders in the store. Use for \"How many orders does my Jumpseller store have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"count_ordersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_products":{"post":{"operationId":"list_products","summary":"List products with name, SKU, price, stock, status and categories. Up to 200 per page. Use for \"List the products in my ","description":"List products with name, SKU, price, stock, status and categories. Up to 200 per page. Use for \"List the products in my Jumpseller store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Records per page (1 to 200).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"locale":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Locale code of the translation to return, for example es (optional).","title":"Locale"}},"title":"list_productsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_products":{"post":{"operationId":"search_products","summary":"Search products by a text query, optionally limited to one field (sku, barcode, brand, name, description, variants, opti","description":"Search products by a text query, optionally limited to one field (sku, barcode, brand, name, description, variants, option_name, custom_fields). Use for \"Find Jumpseller products named linen\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Text to search for.","maxLength":200,"title":"Query","type":"string"},"fields":{"anyOf":[{"enum":["sku","barcode","brand","name","description","variants","option_name","custom_fields","custom_fields_selects"],"type":"string"},{"type":"null"}],"default":null,"description":"Limit the search to one field.","title":"Fields"},"locale":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Locale code of the translation to return, for example es (optional).","title":"Locale"}},"required":["query"],"title":"search_productsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_product":{"post":{"operationId":"get_product","summary":"Get one product by id with name, SKU, barcode, price, stock, status and categories. Use for \"Show Jumpseller product 55\"","description":"Get one product by id with name, SKU, barcode, price, stock, status and categories. Use for \"Show Jumpseller product 55\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Product id.","title":"Id","type":"integer"},"locale":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Locale code of the translation to return, for example es (optional).","title":"Locale"}},"required":["id"],"title":"get_productArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/count_products":{"post":{"operationId":"count_products","summary":"Count all products in the store. Use for \"How many products are in my Jumpseller store\".","description":"Count all products in the store. Use for \"How many products are in my Jumpseller store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"count_productsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_categories":{"post":{"operationId":"list_categories","summary":"List the store's product categories with id, name, parent id and permalink. Use for \"What categories does my Jumpseller ","description":"List the store's product categories with id, name, parent id and permalink. Use for \"What categories does my Jumpseller store have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_promotions":{"post":{"operationId":"list_promotions","summary":"List promotions and discount codes with dates, discount amount, status and times used. Up to 200 per page. Use for \"Whic","description":"List promotions and discount codes with dates, discount amount, status and times used. Up to 200 per page. Use for \"Which discount codes are active in my Jumpseller store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Records per page (1 to 200).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_promotionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_shipping_methods":{"post":{"operationId":"list_shipping_methods","summary":"List the store's shipping methods with id, name, type and available services. Use for \"Which shipping methods are set up","description":"List the store's shipping methods with id, name, type and available services. Use for \"Which shipping methods are set up in my Jumpseller store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_shipping_methodsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}