{"openapi":"3.1.0","info":{"title":"Yampi (BYOK) API","version":"0.1.0","description":"Yampi (BYOK) lets an AI assistant read your own Yampi data through the Yampi API with a key you supply (Yampi User-Token (Profile > API credentials in the admin)). Read-only: 12 tools (get_store_data, list_products, list_skus, list_categories, list_brands, list_orders, list_order_items, list_order_status_history, list_order_statuses, list_payment_methods, list_product_reviews, list_carriers). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-yampi.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-yampi/docs"},"termsOfService":"https://connectorbay.com/byok-yampi/terms"},"servers":[{"url":"https://byok-yampi.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-yampi/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_data":{"post":{"operationId":"get_store_data","summary":"Show the store's profile: name, type, description, maintenance flag, city, state, products per page and logo. Owner, tax","description":"Show the store's profile: name, type, description, maintenance flag, city, state, products per page and logo. Owner, tax and billing details are not returned. Use for \"What are my Yampi store's basic details\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"}},"required":["alias"],"title":"get_store_dataArguments","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 catalog products with name, SKU, active flag, rating, stock total, number of orders, shipping setting and public UR","description":"List catalog products with name, SKU, active flag, rating, stock total, number of orders, shipping setting and public URL. Use for \"Which products are active in my Yampi store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"q":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Search term.","title":"Q"},"active":{"anyOf":[{"maximum":1,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"1 for active products, 0 for inactive.","title":"Active"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias"],"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/list_skus":{"post":{"operationId":"list_skus","summary":"List SKUs with code, barcode, title, cost and sale price, weight, stock total and stock status. Can filter by stock quan","description":"List SKUs with code, barcode, title, cost and sale price, weight, stock total and stock status. Can filter by stock quantity. Use for \"Which Yampi SKUs are low on stock\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"stock_quantity":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only SKUs with exactly this stock quantity.","title":"Stock Quantity"},"stock_min_quantity":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only SKUs with at least this stock quantity.","title":"Stock Min Quantity"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias"],"title":"list_skusArguments","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 catalog categories with name, slug, parent, active and featured flags and URL path. Use for \"What categories does m","description":"List catalog categories with name, slug, parent, active and featured flags and URL path. Use for \"What categories does my Yampi store have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias"],"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_brands":{"post":{"operationId":"list_brands","summary":"List catalog brands with name, description, active and featured flags. Use for \"Which brands are registered in my Yampi ","description":"List catalog brands with name, description, active and featured flags. Use for \"Which brands are registered in my Yampi store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only brands whose name matches.","title":"Name"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias"],"title":"list_brandsArguments","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 orders with number, totals, shipping service, delivery days, tracking code and URL, payment authorization and campa","description":"List orders with number, totals, shipping service, delivery days, tracking code and URL, payment authorization and campaign source. Customer, address and IP data are not returned. Use for \"What are the latest orders in my Yampi store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"number":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only the order with this exact number.","title":"Number"},"q":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Search term.","title":"Q"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias"],"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_order_items":{"post":{"operationId":"list_order_items","summary":"List the items of one order with product and SKU ids, quantity, price, cost, shipping cost and gift flag. Use for \"What ","description":"List the items of one order with product and SKU ids, quantity, price, cost, shipping cost and gift flag. Use for \"What did Yampi order 5001 contain\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"id":{"description":"Order id (the id field of an order).","title":"Id","type":"integer"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias","id"],"title":"list_order_itemsArguments","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_order_status_history":{"post":{"operationId":"list_order_status_history","summary":"List the status changes of one order with status name, alias, details and time. Use for \"How did Yampi order 5001 move t","description":"List the status changes of one order with status name, alias, details and time. Use for \"How did Yampi order 5001 move through its statuses\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"id":{"description":"Order id (the id field of an order).","title":"Id","type":"integer"}},"required":["alias","id"],"title":"list_order_status_historyArguments","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_order_statuses":{"post":{"operationId":"list_order_statuses","summary":"List the order statuses configured in the store with name, alias and description. Use for \"Which order statuses does my ","description":"List the order statuses configured in the store with name, alias and description. Use for \"Which order statuses does my Yampi store use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"}},"required":["alias"],"title":"list_order_statusesArguments","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_payment_methods":{"post":{"operationId":"list_payment_methods","summary":"List the payment methods created in the store with name, type flags (card, Pix, boleto, wallet) and whether each is conf","description":"List the payment methods created in the store with name, type flags (card, Pix, boleto, wallet) and whether each is configured and active. Use for \"Which payment methods are active in my Yampi store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"}},"required":["alias"],"title":"list_payment_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}},"/v1/tools/list_product_reviews":{"post":{"operationId":"list_product_reviews","summary":"List product reviews with product, rating, approval flag and message. Reviewer name and email are not returned. Use for ","description":"List product reviews with product, rating, approval flag and message. Reviewer name and email are not returned. Use for \"What reviews did my Yampi products receive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias"],"title":"list_product_reviewsArguments","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_carriers":{"post":{"operationId":"list_carriers","summary":"List the shipping carriers set up in the store with type, active flag, origin ZIP code, price markup and weight limits. ","description":"List the shipping carriers set up in the store with type, active flag, origin ZIP code, price markup and weight limits. Use for \"Which carriers does my Yampi store ship with\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"alias":{"description":"Store alias (the short name in your Yampi store address).","maxLength":100,"title":"Alias","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100).","title":"Limit"}},"required":["alias"],"title":"list_carriersArguments","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}}}}