{"openapi":"3.1.0","info":{"title":"Recharge (BYOK) API","version":"0.1.0","description":"Recharge (BYOK) lets an AI assistant read your own Recharge data through the Recharge API with a key you supply (Recharge API token (read scopes)). Read-only: 10 tools (list_subscriptions, get_subscription, list_charges, list_orders, list_customers, list_plans, list_products, list_discounts, list_collections, get_store). The BYOK key travels with each request, is used for that one call only and...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-recharge.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-recharge/docs"},"termsOfService":"https://connectorbay.com/byok-recharge/terms"},"servers":[{"url":"https://byok-recharge.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-recharge/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_subscriptions":{"post":{"operationId":"list_subscriptions","summary":"List subscriptions with product, quantity, price, billing interval, status and next charge date. Needs the read_subscrip","description":"List subscriptions with product, quantity, price, billing interval, status and next charge date. Needs the read_subscriptions scope. Use for \"Which of my Recharge subscriptions are active and when do they renew next\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["active","cancelled","expired"],"type":"string"},{"type":"null"}],"default":null,"description":"Subscription status: active, cancelled or expired.","title":"Status"},"customer_id":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions of this Recharge customer id.","title":"Customer Id"},"updated_at_min":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions updated after this date, for example 2026-01-01.","title":"Updated At Min"},"created_at_min":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions created after this date, for example 2026-01-01.","title":"Created At Min"},"created_at_max":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions created before this date, for example 2026-02-01.","title":"Created At Max"},"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"title":"list_subscriptionsArguments","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_subscription":{"post":{"operationId":"get_subscription","summary":"Get one subscription by its Recharge id: product, quantity, price, interval, status and next charge date. Use for \"Show ","description":"Get one subscription by its Recharge id: product, quantity, price, interval, status and next charge date. Use for \"Show Recharge subscription 63898947\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"subscription_id":{"description":"Recharge subscription id (a number).","maxLength":200,"title":"Subscription Id","type":"string"}},"required":["subscription_id"],"title":"get_subscriptionArguments","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_charges":{"post":{"operationId":"list_charges","summary":"List charges (upcoming and processed payments) with status, totals, currency and scheduled date. Processed charges older","description":"List charges (upcoming and processed payments) with status, totals, currency and scheduled date. Processed charges older than 90 days may no longer appear. Needs read_orders scope. Use for \"Which Recharge charges are queued for next week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["success","queued","error","refunded","partially_refunded","skipped","pending_manual_payment","pending"],"type":"string"},{"type":"null"}],"default":null,"description":"Charge status: success, queued, error, refunded, partially_refunded, skipped, pending_manual_payment or pending.","title":"Status"},"customer_id":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only charges of this Recharge customer id.","title":"Customer Id"},"scheduled_at_min":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only charges scheduled on or after this date, for example 2026-01-01.","title":"Scheduled At Min"},"scheduled_at_max":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only charges scheduled on or before this date.","title":"Scheduled At Max"},"sort_by":{"anyOf":[{"enum":["id-asc","id-desc","updated_at-asc","updated_at-desc","scheduled_at-asc","scheduled_at-desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort order.","title":"Sort By"},"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"title":"list_chargesArguments","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 created by Recharge with status, type (checkout or recurring), totals, currency and dates. Needs read_orders","description":"List orders created by Recharge with status, type (checkout or recurring), totals, currency and dates. Needs read_orders scope. Use for \"What recurring orders did Recharge create this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["success","queued","error","refunded","skipped"],"type":"string"},{"type":"null"}],"default":null,"description":"Order status: success, queued, error, refunded or skipped.","title":"Status"},"type":{"anyOf":[{"enum":["checkout","recurring"],"type":"string"},{"type":"null"}],"default":null,"description":"Order type: checkout or recurring.","title":"Type"},"customer_id":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders of this Recharge customer id.","title":"Customer Id"},"created_at_min":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders created after this date, for example 2026-01-01.","title":"Created At Min"},"created_at_max":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders created before this date, for example 2026-02-01.","title":"Created At Max"},"scheduled_at_min":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders scheduled after this date.","title":"Scheduled At Min"},"scheduled_at_max":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only orders scheduled before this date.","title":"Scheduled At Max"},"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"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_customers":{"post":{"operationId":"list_customers","summary":"List Recharge customers by counts only (subscription totals, payment status, dates); names, email and phone are left out","description":"List Recharge customers by counts only (subscription totals, payment status, dates); names, email and phone are left out. Needs read_customers scope. Use for \"How many active subscriptions does each recent Recharge customer have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"created_at_min":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only customers created after this date.","title":"Created At Min"},"created_at_max":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only customers created before this date.","title":"Created At Max"},"updated_at_min":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only customers updated after this date.","title":"Updated At Min"},"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"title":"list_customersArguments","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_plans":{"post":{"operationId":"list_plans","summary":"List the selling plans of the store (subscription, prepaid, one-time) with title, product and interval preferences. Need","description":"List the selling plans of the store (subscription, prepaid, one-time) with title, product and interval preferences. Needs read_plans scope. Use for \"What subscription plans are set up in Recharge\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["subscription","prepaid","onetime"],"type":"string"},{"type":"null"}],"default":null,"description":"Plan type: subscription, prepaid or onetime.","title":"Type"},"external_product_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only plans of this store product id (as in your e-commerce platform).","title":"External Product Id"},"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"title":"list_plansArguments","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 in Recharge's product catalog with title, vendor, brand and publish date. Use for \"Which products does Rec","description":"List products in Recharge's product catalog with title, vendor, brand and publish date. Use for \"Which products does Recharge know about\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"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_discounts":{"post":{"operationId":"list_discounts","summary":"List discount codes with value, value type, status, start and end dates. Use for \"Which Recharge discount codes are enab","description":"List discount codes with value, value type, status, start and end dates. Use for \"Which Recharge discount codes are enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"status":{"anyOf":[{"enum":["enabled","disabled","fully_disabled"],"type":"string"},{"type":"null"}],"default":null,"description":"Discount status: enabled, disabled or fully_disabled.","title":"Status"},"value_type":{"anyOf":[{"enum":["percentage","fixed_amount","shipping"],"type":"string"},{"type":"null"}],"default":null,"description":"Discount type: percentage, fixed_amount or shipping.","title":"Value Type"},"discount_code":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Search for one discount code.","title":"Discount Code"},"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"title":"list_discountsArguments","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_collections":{"post":{"operationId":"list_collections","summary":"List product collections defined in Recharge with title, type and sort order. Use for \"What collections exist in my Rech","description":"List product collections defined in Recharge with title, type and sort order. Use for \"What collections exist in my Recharge store\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"title":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only collections with this exact title.","title":"Title"},"limit":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many results to return (1 to 250).","title":"Limit"},"cursor":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's next_cursor to get the next page.","title":"Cursor"}},"title":"list_collectionsArguments","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_store":{"post":{"operationId":"get_store","summary":"Show the Recharge store: name, currency, checkout platform, timezone and default API version. Needs read_store scope. Us","description":"Show the Recharge store: name, currency, checkout platform, timezone and default API version. Needs read_store scope. Use for \"What store and currency is my Recharge token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_storeArguments","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}}}}