{"openapi":"3.1.0","info":{"title":"Sportradar Formula 1 (BYOK) API","version":"0.1.0","description":"Sportradar Formula 1 (BYOK) lets an AI assistant read your own Sportradar Formula 1 data through the Sportradar Formula 1 API with a key you supply (Sportradar Formula 1 API key (trial or production)). Read-only: 5 tools (list_seasons, get_stage_schedule, get_stage_summary, get_driver_profile, get_team_profile). The BYOK key travels with each request, is used for that one call only and is never...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-sportradar-formula1.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-sportradar-formula1/docs"},"termsOfService":"https://connectorbay.com/byok-sportradar-formula1/terms"},"servers":[{"url":"https://byok-sportradar-formula1.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-sportradar-formula1/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_seasons":{"post":{"operationId":"list_seasons","summary":"List Formula 1 seasons (stages of type season) with id, description, dates and status. Use for \"Which Formula 1 seasons ","description":"List Formula 1 seasons (stages of type season) with id, description, dates and status. Use for \"Which Formula 1 seasons are available and what are their stage ids\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"access_level":{"description":"Access level of your Sportradar key: trial or production.","enum":["trial","production"],"title":"Access Level","type":"string"},"language_code":{"description":"Language of names in the answer, for example en.","maxLength":200,"title":"Language Code","type":"string"}},"required":["access_level","language_code"],"title":"list_seasonsArguments","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_stage_schedule":{"post":{"operationId":"get_stage_schedule","summary":"List the child stages of one stage, for example the grand prix of a season or the sessions of a grand prix, with dates, ","description":"List the child stages of one stage, for example the grand prix of a season or the sessions of a grand prix, with dates, circuit and status. Use for \"What are the grand prix of the 2025 Formula 1 season\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"access_level":{"description":"Access level of your Sportradar key: trial or production.","enum":["trial","production"],"title":"Access Level","type":"string"},"language_code":{"description":"Language of names in the answer, for example en.","maxLength":200,"title":"Language Code","type":"string"},"stage_id":{"description":"Stage id (a season, grand prix or session) as returned by list_seasons or get_stage_schedule, for example sr:stage:1189123.","maxLength":200,"title":"Stage Id","type":"string"}},"required":["access_level","language_code","stage_id"],"title":"get_stage_scheduleArguments","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_stage_summary":{"post":{"operationId":"get_stage_summary","summary":"Get the summary of one Formula 1 stage (season standings, grand prix or session): status, circuit, laps, conditions and ","description":"Get the summary of one Formula 1 stage (season standings, grand prix or session): status, circuit, laps, conditions and the competitors with their results. Use for \"Who won this Formula 1 grand prix and what was the grid\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"access_level":{"description":"Access level of your Sportradar key: trial or production.","enum":["trial","production"],"title":"Access Level","type":"string"},"language_code":{"description":"Language of names in the answer, for example en.","maxLength":200,"title":"Language Code","type":"string"},"stage_id":{"description":"Stage id (a season, grand prix or session) as returned by list_seasons or get_stage_schedule, for example sr:stage:1189123.","maxLength":200,"title":"Stage Id","type":"string"}},"required":["access_level","language_code","stage_id"],"title":"get_stage_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}},"/v1/tools/get_driver_profile":{"post":{"operationId":"get_driver_profile","summary":"Get one Formula 1 driver's profile: name, abbreviation, nationality and teams. Use for \"Which team does this Formula 1 d","description":"Get one Formula 1 driver's profile: name, abbreviation, nationality and teams. Use for \"Which team does this Formula 1 driver race for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"access_level":{"description":"Access level of your Sportradar key: trial or production.","enum":["trial","production"],"title":"Access Level","type":"string"},"language_code":{"description":"Language of names in the answer, for example en.","maxLength":200,"title":"Language Code","type":"string"},"competitor_id":{"description":"Driver competitor id as returned by get_stage_summary, for example sr:competitor:7135.","maxLength":200,"title":"Competitor Id","type":"string"}},"required":["access_level","language_code","competitor_id"],"title":"get_driver_profileArguments","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_team_profile":{"post":{"operationId":"get_team_profile","summary":"Get one Formula 1 team's profile: name, nationality, car and engine details, chief engineer and the team's drivers. Use ","description":"Get one Formula 1 team's profile: name, nationality, car and engine details, chief engineer and the team's drivers. Use for \"Which engine and chassis does this Formula 1 team use and who are its drivers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"access_level":{"description":"Access level of your Sportradar key: trial or production.","enum":["trial","production"],"title":"Access Level","type":"string"},"language_code":{"description":"Language of names in the answer, for example en.","maxLength":200,"title":"Language Code","type":"string"},"competitor_id":{"description":"Team competitor id as returned by get_stage_summary, for example sr:competitor:4514.","maxLength":200,"title":"Competitor Id","type":"string"}},"required":["access_level","language_code","competitor_id"],"title":"get_team_profileArguments","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}}}}