{"openapi":"3.1.0","info":{"title":"Loja Integrada (BYOK) API","version":"0.1.0","description":"Loja Integrada (BYOK) lets an AI assistant read your own Loja Integrada data through the Loja Integrada API with a key you supply (personal token (Personal Token)). Read-only: 12 tools (list_orders, get_order, list_order_statuses, list_products, get_product, list_product_stock, get_product_price, list_categories, list_brands, list_coupons, list_shipping_methods, list_payment_methods). The BYOK...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-loja-integrada.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-loja-integrada/docs"},"termsOfService":"https://connectorbay.com/byok-loja-integrada/terms"},"servers":[{"url":"https://byok-loja-integrada.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-loja-integrada/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/list_orders":{"post":{"operationId":"list_orders","summary":"List orders with number, status, dates, subtotal, shipping, discount, total and weight (customer is only a reference). F","description":"List orders with number, status, dates, subtotal, shipping, discount, total and weight (customer is only a reference). Filter by status, payment method, order number or dates. Use for \"Show orders created this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only orders in this status ID (see list_order_statuses).","title":"Status Id"},"payment_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only orders paid with this payment method ID (see list_payment_methods).","title":"Payment Id"},"since_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Only orders with this number or higher.","title":"Since Number"},"created_since":{"anyOf":[{"maxLength":25,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders created from this date, AAAA-MM-DDTHH:MM:SS (time optional).","title":"Created Since"},"created_until":{"anyOf":[{"maxLength":25,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders created before this date, AAAA-MM-DDTHH:MM:SS (time optional).","title":"Created Until"},"updated_since":{"anyOf":[{"maxLength":25,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders updated from this date, AAAA-MM-DDTHH:MM:SS (time optional).","title":"Updated Since"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"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/get_order":{"post":{"operationId":"get_order","summary":"One order by number: status, dates, totals, line items (name, SKU, quantity, prices) and shipments (carrier, deadline, c","description":"One order by number: status, dates, totals, line items (name, SKU, quantity, prices) and shipments (carrier, deadline, cost). Customer details, addresses and payment gateway data are left out. Use for \"What is in order 164\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"pedido_id":{"description":"Order number.","minimum":1,"title":"Pedido Id","type":"integer"}},"required":["pedido_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/list_order_statuses":{"post":{"operationId":"list_order_statuses","summary":"List the order statuses with ID, code, name and whether each means approved, cancelled or final. Use for \"What order sta","description":"List the order statuses with ID, code, name and whether each means approved, cancelled or final. Use for \"What order statuses exist\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"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_products":{"post":{"operationId":"list_products","summary":"List products with ID, name, SKU, type, active and blocked flags, categories and URL. Filter by SKU, active flag or modi","description":"List products with ID, name, SKU, type, active and blocked flags, categories and URL. Filter by SKU, active flag or modification dates. Use for \"Which products were changed this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sku":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Exact SKU.","title":"Sku"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for active products only, false for inactive.","title":"Active"},"modified_since":{"anyOf":[{"maxLength":25,"type":"string"},{"type":"null"}],"default":null,"description":"Only products modified on or after this date, AAAA-MM-DDTHH:MM:SS.","title":"Modified Since"},"modified_until":{"anyOf":[{"maxLength":25,"type":"string"},{"type":"null"}],"default":null,"description":"Only products modified on or before this date, AAAA-MM-DDTHH:MM:SS.","title":"Modified Until"},"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"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/get_product":{"post":{"operationId":"get_product","summary":"One product by ID: name, SKU, brand, dimensions, weight, prices, stock quantity and managed-stock flag, images and categ","description":"One product by ID: name, SKU, brand, dimensions, weight, prices, stock quantity and managed-stock flag, images and categories. Use for \"Show product 1 with its stock and price\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"produto_id":{"description":"Product ID.","minimum":1,"title":"Produto Id","type":"integer"}},"required":["produto_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/list_product_stock":{"post":{"operationId":"list_product_stock","summary":"List stock levels of products: quantity, available, reserved and whether stock is managed. Use for \"Which products are l","description":"List stock levels of products: quantity, available, reserved and whether stock is managed. Use for \"Which products are low on stock\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"title":"list_product_stockArguments","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_price":{"post":{"operationId":"get_product_price","summary":"Full, promotional and cost price of one product. Use for \"What is the price of product 1\".","description":"Full, promotional and cost price of one product. Use for \"What is the price of product 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"produto_id":{"description":"Product ID.","minimum":1,"title":"Produto Id","type":"integer"}},"required":["produto_id"],"title":"get_product_priceArguments","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 product categories with ID, name, parent, description and URL. Use for \"Show my category tree\".","description":"List product categories with ID, name, parent, description and URL. Use for \"Show my category tree\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"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 brands with ID, name, nickname, description and active flag. Use for \"Which brands are in my store\".","description":"List brands with ID, name, nickname, description and active flag. Use for \"Which brands are in my store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"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_coupons":{"post":{"operationId":"list_coupons","summary":"List discount coupons with ID, description, type, value, minimum, usage counts, validity and active flag (coupon codes a","description":"List discount coupons with ID, description, type, value, minimum, usage counts, validity and active flag (coupon codes are left out). Use for \"Which coupons are active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"title":"list_couponsArguments","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, code, name, type and whether each is active and available. Use for \"Which shi","description":"List the store's shipping methods with ID, code, name, type and whether each is active and available. Use for \"Which shipping methods are enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"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}},"/v1/tools/list_payment_methods":{"post":{"operationId":"list_payment_methods","summary":"List the store's payment methods with ID, code, name and whether each is active and available. Use for \"Which payment me","description":"List the store's payment methods with ID, code, name and whether each is active and available. Use for \"Which payment methods are enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many records to return (1 to 50, default 20).","title":"Limit"},"offset":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Position of the first record to return, starting at 0.","title":"Offset"}},"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}}}}