{"openapi":"3.1.0","info":{"title":"Freemius (BYOK) API","version":"0.1.0","description":"Freemius (BYOK) lets an AI assistant read your own Freemius data through the Freemius API with a key you supply (Freemius product API bearer token (Developer Dashboard > product Settings > API & Keys)). Read-only: 12 tools (get_product, get_product_info, get_product_status, get_pricing_table, list_plans, list_plan_pricing, list_plan_features, list_features, list_addons, list_currencies,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-freemius-product.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-freemius-product/docs"},"termsOfService":"https://connectorbay.com/byok-freemius-product/terms"},"servers":[{"url":"https://byok-freemius-product.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-freemius-product/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_product":{"post":{"operationId":"get_product","summary":"Get a Freemius product: slug, title, environment, default plan, plan and feature ids, refund policy and install counts. ","description":"Get a Freemius product: slug, title, environment, default plan, plan and feature ids, refund policy and install counts. Secret and public keys are left out. Use for \"What is the setup of my Freemius product 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"}},"required":["product_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_info":{"post":{"operationId":"get_product_info","summary":"Get the marketing info of a Freemius product: store URL, description and short description. Use for \"What is the descrip","description":"Get the marketing info of a Freemius product: store URL, description and short description. Use for \"What is the description of my Freemius product 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"}},"required":["product_id"],"title":"get_product_infoArguments","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_status":{"post":{"operationId":"get_product_status","summary":"Check whether a Freemius product is active, with the timestamp of the check. Use for \"Is my Freemius product 1234 active","description":"Check whether a Freemius product is active, with the timestamp of the check. Use for \"Is my Freemius product 1234 active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"}},"required":["product_id"],"title":"get_product_statusArguments","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_pricing_table":{"post":{"operationId":"get_pricing_table","summary":"Get the public pricing table of a Freemius product: plans with titles, trial periods, features and prices, optionally in","description":"Get the public pricing table of a Freemius product: plans with titles, trial periods, features and prices, optionally in one currency. Use for \"What does the pricing table of my Freemius product 1234 look like\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"},"currency":{"anyOf":[{"enum":["usd","eur","gbp"],"type":"string"},{"type":"null"}],"default":null,"description":"Optional three letter currency code: usd, eur or gbp.","title":"Currency"}},"required":["product_id"],"title":"get_pricing_tableArguments","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 plans of a Freemius product with name, title, trial period, license type and visibility. Use for \"Which plans d","description":"List the plans of a Freemius product with name, title, trial period, license type and visibility. Use for \"Which plans does my Freemius product 1234 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"}},"required":["product_id"],"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_plan_pricing":{"post":{"operationId":"list_plan_pricing","summary":"List the prices of one plan: currency, number of licenses and monthly, annual and lifetime price. Use for \"What does Fre","description":"List the prices of one plan: currency, number of licenses and monthly, annual and lifetime price. Use for \"What does Freemius plan 4321 cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"},"plan_id":{"description":"Numeric plan id from list_plans.","minimum":1,"title":"Plan Id","type":"integer"},"currency":{"anyOf":[{"enum":["usd","eur","gbp"],"type":"string"},{"type":"null"}],"default":null,"description":"Optional three letter currency code: usd, eur or gbp.","title":"Currency"},"count":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100; the service default is 25).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip.","title":"Offset"}},"required":["product_id","plan_id"],"title":"list_plan_pricingArguments","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_plan_features":{"post":{"operationId":"list_plan_features","summary":"List the features attached to one plan with their values. Use for \"Which features does Freemius plan 4321 include\".","description":"List the features attached to one plan with their values. Use for \"Which features does Freemius plan 4321 include\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"},"plan_id":{"description":"Numeric plan id from list_plans.","minimum":1,"title":"Plan Id","type":"integer"},"count":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100; the service default is 25).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip.","title":"Offset"}},"required":["product_id","plan_id"],"title":"list_plan_featuresArguments","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_features":{"post":{"operationId":"list_features","summary":"List all features defined for a Freemius product. Use for \"Which features are defined for my Freemius product 1234\".","description":"List all features defined for a Freemius product. Use for \"Which features are defined for my Freemius product 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"},"count":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100; the service default is 25).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip.","title":"Offset"}},"required":["product_id"],"title":"list_featuresArguments","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_addons":{"post":{"operationId":"list_addons","summary":"List the add-ons of a Freemius product with slug, title, plan and feature ids, refund policy and install counts. Secret ","description":"List the add-ons of a Freemius product with slug, title, plan and feature ids, refund policy and install counts. Secret and public keys are left out. Use for \"Which add-ons does my Freemius product 1234 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"},"count":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (1 to 100; the service default is 25).","title":"Count"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of records to skip.","title":"Offset"}},"required":["product_id"],"title":"list_addonsArguments","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_currencies":{"post":{"operationId":"list_currencies","summary":"List the currencies supported by the plans of a Freemius product. Use for \"Which currencies does my Freemius product 123","description":"List the currencies supported by the plans of a Freemius product. Use for \"Which currencies does my Freemius product 1234 sell in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"}},"required":["product_id"],"title":"list_currenciesArguments","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_installs_count":{"post":{"operationId":"get_installs_count","summary":"Count the installs of a Freemius product, optionally only active ones or those tied to a plan. Use for \"How many active ","description":"Count the installs of a Freemius product, optionally only active ones or those tied to a plan. Use for \"How many active installs does my Freemius product 1234 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Count active installs only.","title":"Is Active"},"plan_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Only installs with a non-expired license of this plan id.","title":"Plan Id"}},"required":["product_id"],"title":"get_installs_countArguments","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_reviews_summary":{"post":{"operationId":"get_reviews_summary","summary":"Get the review rating distribution of a Freemius product: number of reviews per star rating. Use for \"What is the rating","description":"Get the review rating distribution of a Freemius product: number of reviews per star rating. Use for \"What is the rating distribution of my Freemius product 1234\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"product_id":{"description":"Numeric Freemius product id, shown in the API & Keys tab of the product settings.","minimum":1,"title":"Product Id","type":"integer"},"type":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":"verified","description":"Review type to summarise, default verified.","title":"Type"}},"required":["product_id"],"title":"get_reviews_summaryArguments","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}}}}