{"openapi":"3.1.0","info":{"title":"Frisbii (BYOK) API","version":"0.1.0","description":"Frisbii (BYOK) lets an AI assistant read your own Frisbii data through the Frisbii API with a key you supply (Frisbii private API key (priv_...; the key can also create charges and refunds, this connector only reads)). Read-only: 10 tools (list_invoices, list_charges, list_subscriptions, list_plans, list_transactions, list_settlements, list_disputes, list_customers, get_payout, get_account). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-frisbii.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-frisbii/docs"},"termsOfService":"https://connectorbay.com/byok-frisbii/terms"},"servers":[{"url":"https://byok-frisbii.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-frisbii/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_invoices":{"post":{"operationId":"list_invoices","summary":"List invoices with customer, subscription, plan, state, amount with and without VAT, settled, refunded and credited amou","description":"List invoices with customer, subscription, plan, state, amount with and without VAT, settled, refunded and credited amounts, and key dates. Order lines are left out. Use for \"Which Frisbii invoices are in dunning or failed this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"range":{"anyOf":[{"enum":["created","settled"],"type":"string"},{"type":"null"}],"default":null,"description":"Which date field the range applies to.","title":"Range"},"customer":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices of this customer handle.","title":"Customer"},"subscription":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices of this subscription handle.","title":"Subscription"},"plan":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only invoices of this plan handle.","title":"Plan"},"handle":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the invoice with this handle.","title":"Handle"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"title":"list_invoicesArguments","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 one-off charges with customer, state, amount, currency, key dates, error text and payment source type. Card and acc","description":"List one-off charges with customer, state, amount, currency, key dates, error text and payment source type. Card and account details are left out. Use for \"Which Frisbii charges failed lately\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"range":{"anyOf":[{"enum":["created","settled"],"type":"string"},{"type":"null"}],"default":null,"description":"Which date field the range applies to.","title":"Range"},"customer":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only charges of this customer handle.","title":"Customer"},"handle":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the charge with this handle.","title":"Handle"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"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_subscriptions":{"post":{"operationId":"list_subscriptions","summary":"List subscriptions with customer, plan, state, amount, trial and period dates, cancellation or hold reason and invoice c","description":"List subscriptions with customer, plan, state, amount, trial and period dates, cancellation or hold reason and invoice counts and amounts by state. Use for \"Which Frisbii subscriptions are on hold and why\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"range":{"anyOf":[{"enum":["created","activated","expired","cancelled","on_hold","reactivated"],"type":"string"},{"type":"null"}],"default":null,"description":"Which date field the range applies to.","title":"Range"},"customer":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions of this customer handle.","title":"Customer"},"plan":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only subscriptions on this plan handle.","title":"Plan"},"handle":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the subscription with this handle.","title":"Handle"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"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/list_plans":{"post":{"operationId":"list_plans","summary":"List subscription plans with name, price, VAT, billing interval, trial length, setup fee and state. Use for \"What subscr","description":"List subscription plans with name, price, VAT, billing interval, trial length, setup fee and state. Use for \"What subscription plans do I have in Frisbii\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"handle":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the plan with this handle.","title":"Handle"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"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_transactions":{"post":{"operationId":"list_transactions","summary":"List payment transactions (authorizations, settlements, refunds) with state, amount, currency, payment type and key date","description":"List payment transactions (authorizations, settlements, refunds) with state, amount, currency, payment type and key dates. Card and account details are left out. Use for \"Which Frisbii refunds happened this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"range":{"anyOf":[{"enum":["created","settled"],"type":"string"},{"type":"null"}],"default":null,"description":"Which date field the range applies to.","title":"Range"},"customer":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transactions of this customer handle.","title":"Customer"},"invoice":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transactions of this invoice handle.","title":"Invoice"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"title":"list_transactionsArguments","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_settlements":{"post":{"operationId":"list_settlements","summary":"List settlement entries (captures, refunds, fees, payouts) with type, amount, provider and linked invoice and payout, fo","description":"List settlement entries (captures, refunds, fees, payouts) with type, amount, provider and linked invoice and payout, for reconciliation. Use for \"What fees did my acquirer settle in Frisbii last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"title":"list_settlementsArguments","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_disputes":{"post":{"operationId":"list_disputes","summary":"List card disputes and chargebacks with state, reason, amount, fee, outcome and who the dispute is waiting for. Use for ","description":"List card disputes and chargebacks with state, reason, amount, fee, outcome and who the dispute is waiting for. Use for \"Do I have open disputes in Frisbii\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"range":{"anyOf":[{"enum":["created","resolved"],"type":"string"},{"type":"null"}],"default":null,"description":"Which date field the range applies to.","title":"Range"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"title":"list_disputesArguments","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 customers with company, country, language and counts and amounts of their subscriptions and invoices by state. Name","description":"List customers with company, country, language and counts and amounts of their subscriptions and invoices by state. Names, emails, addresses, phone numbers and birth dates are left out. Use for \"Which Frisbii customers have failed invoices\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the time range (inclusive), in account time: yyyy-MM-dd or yyyy-MM-ddTHH:mm:ss.","title":"From Time"},"to_time":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the time range, same format. Default is one month after the start.","title":"To Time"},"interval":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Relative range such as 1d, 7d or 1m, used instead of from and to.","title":"Interval"},"handle":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the customer with this handle.","title":"Handle"},"size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 100).","title":"Size"},"next_page_token":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Paging token: pass next_page_token from the previous answer to get the next page.","title":"Next Page Token"}},"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/get_payout":{"post":{"operationId":"get_payout","summary":"Get one payout by handle with state, amount, currency, creation, paid and failed dates. Use for \"Show Frisbii payout po-","description":"Get one payout by handle with state, amount, currency, creation, paid and failed dates. Use for \"Show Frisbii payout po-1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"handle":{"description":"Payout handle.","maxLength":200,"title":"Handle","type":"string"}},"required":["handle"],"title":"get_payoutArguments","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_account":{"post":{"operationId":"get_account","summary":"Get the account the key belongs to: name, handle, currency, country, timezone, locale, state (test, live, closed) and de","description":"Get the account the key belongs to: name, handle, currency, country, timezone, locale, state (test, live, closed) and default VAT. Use for \"Which Frisbii account is this key for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_accountArguments","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}}}}