{"openapi":"3.1.0","info":{"title":"Prom.ua (BYOK) API","version":"0.1.0","description":"Prom.ua (BYOK) lets an AI assistant read your own Prom.ua data through the Prom.ua API with a key you supply (company API token). Read-only: 9 tools (list_orders, get_order, list_products, get_product, get_product_by_external_id, list_groups, list_payment_options, list_delivery_options, list_order_status_options). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-prom-ua.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-prom-ua/docs"},"termsOfService":"https://connectorbay.com/byok-prom-ua/terms"},"servers":[{"url":"https://byok-prom-ua.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-prom-ua/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 your company's orders with status, date, totals, delivery and payment method, payment status and the ordered produc","description":"List your company's orders with status, date, totals, delivery and payment method, payment status and the ordered products (buyer contact details are left out). Sorted newest first by default. Use for \"Show my latest Prom.ua orders\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders with this status code (see list_order_status_options).","title":"Status"},"date_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders created after this UTC time, for example 2026-01-31T12:50:34.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders created before this UTC time, for example 2026-02-28T00:00:00.","title":"Date To"},"last_modified_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders changed after this UTC time, for example 2026-01-31T12:50:34.","title":"Last Modified From"},"last_modified_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders changed before this UTC time, for example 2026-02-28T00:00:00.","title":"Last Modified To"},"sort_dir":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort direction by creation date: desc (default) or asc.","title":"Sort Dir"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 100 accepted here; the provider documents no fixed maximum, so keep pages small).","title":"Limit"},"last_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Return only orders with an ID no higher than this; pass the lowest ID of the previous page to get the next page.","title":"Last Id"}},"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":"Get one order by its ID: status, date, totals, delivery and payment method, payment status, promotion, cancellation reas","description":"Get one order by its ID: status, date, totals, delivery and payment method, payment status, promotion, cancellation reason and ordered products (buyer contact details are left out). Use for \"Show Prom.ua order 100\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Order ID.","minimum":1,"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/list_products":{"post":{"operationId":"list_products","summary":"List your company's products with name, SKU, price, discount, stock and availability, group, category and status. Cursor","description":"List your company's products with name, SKU, price, discount, stock and availability, group, category and status. Cursor-style paging with last_id. Use for \"What products do I sell on Prom.ua and which are out of stock\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only products of this product group ID (see list_groups).","title":"Group Id"},"last_modified_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only products changed after this UTC time, for example 2026-01-31T12:50:34.","title":"Last Modified From"},"last_modified_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only products changed before this UTC time, for example 2026-02-28T00:00:00.","title":"Last Modified To"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 100 accepted here; the provider documents no fixed maximum, so keep pages small).","title":"Limit"},"last_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Return only products with an ID no higher than this; pass the lowest ID of the previous page to get the next page.","title":"Last Id"}},"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":"Get one product by its Prom.ua ID: name, SKU, price, discount, stock, availability, group, category and status. Use for ","description":"Get one product by its Prom.ua ID: name, SKU, price, discount, stock, availability, group, category and status. Use for \"Show Prom.ua product 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Prom.ua product ID.","minimum":1,"title":"Id","type":"integer"}},"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/get_product_by_external_id":{"post":{"operationId":"get_product_by_external_id","summary":"Get one product by the identifier you gave it in your own accounting system (external_id). Use for \"Find the Prom.ua pro","description":"Get one product by the identifier you gave it in your own accounting system (external_id). Use for \"Find the Prom.ua product with my external ID SKU-1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"The product's external_id from your own system.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_product_by_external_idArguments","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_groups":{"post":{"operationId":"list_groups","summary":"List your company's product groups with name, description and parent group. Use for \"What product groups does my Prom.ua","description":"List your company's product groups with name, description and parent group. Use for \"What product groups does my Prom.ua shop have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"last_modified_from":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups changed after this UTC time, for example 2026-01-31T12:50:34.","title":"Last Modified From"},"last_modified_to":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups changed before this UTC time, for example 2026-02-28T00:00:00.","title":"Last Modified To"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many items to return (1 to 100 accepted here; the provider documents no fixed maximum, so keep pages small).","title":"Limit"},"last_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Return only groups with an ID no higher than this; pass the lowest ID of the previous page to get the next page.","title":"Last Id"}},"title":"list_groupsArguments","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_options":{"post":{"operationId":"list_payment_options","summary":"List the payment methods your company accepts. Use for \"Which payment methods are set up in my Prom.ua shop\".","description":"List the payment methods your company accepts. Use for \"Which payment methods are set up in my Prom.ua shop\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_payment_optionsArguments","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_delivery_options":{"post":{"operationId":"list_delivery_options","summary":"List the delivery methods your company offers, with type and whether each is enabled. Use for \"Which delivery methods do","description":"List the delivery methods your company offers, with type and whether each is enabled. Use for \"Which delivery methods does my Prom.ua shop offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_delivery_optionsArguments","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_options":{"post":{"operationId":"list_order_status_options","summary":"List the order statuses available to your company (default and custom) with their codes, for use as the status filter of","description":"List the order statuses available to your company (default and custom) with their codes, for use as the status filter of list_orders. Use for \"What order statuses exist in my Prom.ua shop\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_order_status_optionsArguments","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}}}}