{"openapi":"3.1.0","info":{"title":"Shipbubble (BYOK) API","version":"0.1.0","description":"Shipbubble (BYOK) lets an AI assistant read your own Shipbubble data through the Shipbubble API with a key you supply (Shipbubble API key (sb_prod_... or sb_sandbox_...)). Read-only: 7 tools (get_wallet_balance, list_package_categories, list_package_boxes, list_couriers, get_courier_coverage, list_stores, list_store_products). The BYOK key travels with each request, is used for that one call only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-shipbubble.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-shipbubble/docs"},"termsOfService":"https://connectorbay.com/byok-shipbubble/terms"},"servers":[{"url":"https://byok-shipbubble.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-shipbubble/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_wallet_balance":{"post":{"operationId":"get_wallet_balance","summary":"Get the Naira balance of your Shipbubble shipping wallet. Use for \"How much is left in my Shipbubble shipping wallet\".","description":"Get the Naira balance of your Shipbubble shipping wallet. Use for \"How much is left in my Shipbubble shipping wallet\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_wallet_balanceArguments","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_package_categories":{"post":{"operationId":"list_package_categories","summary":"List the item categories Shipbubble uses to match a package to couriers that can carry it. Use for \"Which item categorie","description":"List the item categories Shipbubble uses to match a package to couriers that can carry it. Use for \"Which item categories does Shipbubble support\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_package_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_package_boxes":{"post":{"operationId":"list_package_boxes","summary":"List the standard package box sizes (height, width, length in cm and maximum weight in kg). Use for \"What box sizes can ","description":"List the standard package box sizes (height, width, length in cm and maximum weight in kg). Use for \"What box sizes can I ship with Shipbubble\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_package_boxesArguments","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_couriers":{"post":{"operationId":"list_couriers","summary":"List the couriers on the Shipbubble network with their service code, origin country, domestic or international and expre","description":"List the couriers on the Shipbubble network with their service code, origin country, domestic or international and express support, and whether they are operational. Use for \"Which couriers are operational on Shipbubble right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_couriersArguments","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_courier_coverage":{"post":{"operationId":"get_courier_coverage","summary":"List the countries and the pickup and delivery states a courier covers, by its service code (read-only lookup, no shipme","description":"List the countries and the pickup and delivery states a courier covers, by its service code (read-only lookup, no shipment is created). Use for \"Which states does the Redstar courier deliver to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_code":{"description":"Courier service code from list_couriers, for example red_star_courier.","maxLength":200,"title":"Service Code","type":"string"}},"required":["service_code"],"title":"get_courier_coverageArguments","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_stores":{"post":{"operationId":"list_stores","summary":"List the marketplace stores created on your Shipbubble account. Use for \"Which Shipbubble marketplace stores do I have\".","description":"List the marketplace stores created on your Shipbubble account. Use for \"Which Shipbubble marketplace stores do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_storesArguments","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_store_products":{"post":{"operationId":"list_store_products","summary":"List the products of one Shipbubble marketplace store (name, SKU, price, currency, category, stock, active flag, dimensi","description":"List the products of one Shipbubble marketplace store (name, SKU, price, currency, category, stock, active flag, dimensions) with paging info. Use for \"What products are listed in my Shipbubble store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"store_id":{"description":"Store id from list_stores.","maxLength":200,"title":"Store Id","type":"string"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"How many results to return (default 50).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number, starting at 1.","title":"Page"}},"required":["store_id"],"title":"list_store_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}}}}