{"openapi":"3.1.0","info":{"title":"Rybbit (BYOK) API","version":"0.1.0","description":"Rybbit (BYOK) lets an AI assistant read your own Rybbit data through the Rybbit API with a key you supply (Rybbit API key (organization or personal)). Read-only: 10 tools (get_overview, get_top_by_dimension, list_sessions, list_events, list_users, list_goals, list_funnels, get_web_vitals, list_error_messages, list_segments). 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-rybbit.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-rybbit/docs"},"termsOfService":"https://connectorbay.com/byok-rybbit/terms"},"servers":[{"url":"https://byok-rybbit.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-rybbit/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_overview":{"post":{"operationId":"get_overview","summary":"Get headline metrics for a site and period: sessions, pageviews, users, pages per session, bounce rate and session durat","description":"Get headline metrics for a site and period: sessions, pageviews, users, pages per session, bounce rate and session duration. Use for \"How many sessions and visitors did my Rybbit site get last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"}},"required":["site"],"title":"get_overviewArguments","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_top_by_dimension":{"post":{"operationId":"get_top_by_dimension","summary":"Break traffic down by one dimension (pages, referrers, channels, countries, browsers, devices, UTM values or events) wit","description":"Break traffic down by one dimension (pages, referrers, channels, countries, browsers, devices, UTM values or events) with visitor counts, percentages and bounce rate. Use for \"What are my top referrers in Rybbit this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"parameter":{"description":"Dimension to break down by: browser, browser_version, operating_system, operating_system_version, device_type, language, country, region, city, timezone, pathname, page_title, hostname, querystring, referrer, entry_page, exit_page, channel, utm_source, utm_medium, utm_campaign, utm_term, utm_content, event_name.","enum":["browser","browser_version","operating_system","operating_system_version","device_type","language","country","region","city","timezone","pathname","page_title","hostname","querystring","referrer","entry_page","exit_page","channel","utm_source","utm_medium","utm_campaign","utm_term","utm_content","event_name"],"title":"Parameter","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many rows to return.","title":"Limit"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"}},"required":["site","parameter"],"title":"get_top_by_dimensionArguments","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_sessions":{"post":{"operationId":"list_sessions","summary":"List sessions (newest first) with location, browser, device, channel, entry and exit page, pageviews, events, duration a","description":"List sessions (newest first) with location, browser, device, channel, entry and exit page, pageviews, events, duration and UTM values. User traits are left out. Use for \"Show recent Rybbit sessions from organic search\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Sessions per page.","title":"Limit"},"user_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only sessions of this user id.","title":"User Id"}},"required":["site"],"title":"list_sessionsArguments","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_events":{"post":{"operationId":"list_events","summary":"List raw events (pageviews, custom events, outbound clicks) newest first with page, referrer, browser, location and devi","description":"List raw events (pageviews, custom events, outbound clicks) newest first with page, referrer, browser, location and device; cursor info says if more exist. Use for \"What events happened on my Rybbit site in the last hour\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Events per page.","title":"Page Size"},"since_timestamp":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only events after this timestamp (ISO 8601).","title":"Since Timestamp"},"before_timestamp":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only events before this timestamp (ISO 8601), for paging back.","title":"Before Timestamp"}},"required":["site"],"title":"list_eventsArguments","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_users":{"post":{"operationId":"list_users","summary":"List visitors with first and last seen times, sessions, pageviews, events, location and device. Identified user traits a","description":"List visitors with first and last seen times, sessions, pageviews, events, location and device. Identified user traits are left out. Use for \"Who are my most active Rybbit users\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Items per page.","title":"Page Size"},"sort_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by, for example last_seen, sessions or pageviews.","title":"Sort By"},"sort_order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Sort Order"},"identified_only":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":null,"description":"Set to true to only list identified users.","title":"Identified Only"}},"required":["site"],"title":"list_usersArguments","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_goals":{"post":{"operationId":"list_goals","summary":"List goals with type, configuration, total conversions, sessions and conversion rate for the period. Use for \"What is th","description":"List goals with type, configuration, total conversions, sessions and conversion rate for the period. Use for \"What is the conversion rate of my Rybbit goals\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Items per page.","title":"Page Size"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Field to sort by.","title":"Sort"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Order"}},"required":["site"],"title":"list_goalsArguments","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_funnels":{"post":{"operationId":"list_funnels","summary":"List the saved funnels of a site with their steps and dates. Use for \"Which funnels are saved in Rybbit\".","description":"List the saved funnels of a site with their steps and dates. Use for \"Which funnels are saved in Rybbit\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"}},"required":["site"],"title":"list_funnelsArguments","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_web_vitals":{"post":{"operationId":"get_web_vitals","summary":"Get Core Web Vitals percentiles (LCP, CLS, INP, FCP, TTFB at p50, p75, p90, p99) for a site and period. Use for \"How fas","description":"Get Core Web Vitals percentiles (LCP, CLS, INP, FCP, TTFB at p50, p75, p90, p99) for a site and period. Use for \"How fast is my site according to Rybbit web vitals\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"}},"required":["site"],"title":"get_web_vitalsArguments","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_error_messages":{"post":{"operationId":"list_error_messages","summary":"List unique JavaScript error messages with occurrence counts, affected sessions and share. Use for \"Which errors happen ","description":"List unique JavaScript error messages with occurrence counts, affected sessions and share. Use for \"Which errors happen most often on my Rybbit site\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"},"start_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Start day YYYY-MM-DD; use with end_date and time_zone.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"End day YYYY-MM-DD; use with start_date and time_zone.","title":"End Date"},"time_zone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA time zone for the day range, for example America/New_York (required with start_date and end_date).","title":"Time Zone"},"past_minutes_start":{"anyOf":[{"maximum":5256000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: start of a relative window, in minutes ago (greater than past_minutes_end).","title":"Past Minutes Start"},"past_minutes_end":{"anyOf":[{"maximum":5256000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Alternative to dates: end of a relative window, in minutes ago (0 means now).","title":"Past Minutes End"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Rows per page.","title":"Limit"}},"required":["site"],"title":"list_error_messagesArguments","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_segments":{"post":{"operationId":"list_segments","summary":"List saved segments (filter sets) of the site, including organization-wide ones. Use for \"Which saved segments does my R","description":"List saved segments (filter sets) of the site, including organization-wide ones. Use for \"Which saved segments does my Rybbit site have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Site id or domain-assigned numeric id of the Rybbit site (shown in the site settings), for example 123.","maxLength":60,"title":"Site","type":"string"}},"required":["site"],"title":"list_segmentsArguments","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}}}}