{"openapi":"3.1.0","info":{"title":"Okareo (BYOK) API","version":"0.1.0","description":"Okareo (BYOK) lets an AI assistant read your own Okareo data through the Okareo API with a key you supply (Okareo API token). Read-only: 9 tools (list_projects, list_models_under_test, get_model_under_test, list_checks, get_check, list_scenario_sets, list_drivers, get_test_run, list_available_target_models). 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-okareo.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-okareo/docs"},"termsOfService":"https://connectorbay.com/byok-okareo/terms"},"servers":[{"url":"https://byok-okareo.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-okareo/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_projects":{"post":{"operationId":"list_projects","summary":"List the organization's Okareo projects with onboarding status, tags and number of evaluations. Use for \"Which Okareo pr","description":"List the organization's Okareo projects with onboarding status, tags and number of evaluations. Use for \"Which Okareo projects does my organization have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_projectsArguments","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_models_under_test":{"post":{"operationId":"list_models_under_test","summary":"List registered models and agents under test with version, tags, datapoint count and app link, optionally for one projec","description":"List registered models and agents under test with version, tags, datapoint count and app link, optionally for one project. Use for \"Which models and agents are registered in Okareo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Project id (UUID) from list_projects; leave empty for the key's default scope.","title":"Project Id"},"version":{"anyOf":[{"enum":["all","latest"],"type":"string"},{"type":"null"}],"default":"all","description":"Which versions to return: 'all' (default) or 'latest'.","title":"Version"}},"title":"list_models_under_testArguments","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_model_under_test":{"post":{"operationId":"get_model_under_test","summary":"Get one registered model or agent under test by id: name, version, tags, datapoint count and app link. Use for \"Show Oka","description":"Get one registered model or agent under test by id: name, version, tags, datapoint count and app link. Use for \"Show Okareo model under test 6f1b8d0e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"model_id":{"description":"Model under test id (UUID) from list_models_under_test.","maxLength":200,"title":"Model Id","type":"string"}},"required":["model_id"],"title":"get_model_under_testArguments","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_checks":{"post":{"operationId":"list_checks","summary":"List evaluation checks (predefined and custom) with description, output type, version and tags; code is not returned. Us","description":"List evaluation checks (predefined and custom) with description, output type, version and tags; code is not returned. Use for \"Which evaluation checks are available in Okareo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"all_versions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include every version of each check instead of only the latest.","title":"All Versions"}},"title":"list_checksArguments","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_check":{"post":{"operationId":"get_check","summary":"Get one evaluation check by id: name, description, output type, version and tags (code is not returned). Use for \"Descri","description":"Get one evaluation check by id: name, description, output type, version and tags (code is not returned). Use for \"Describe Okareo check 6f1b8d0e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"check_id":{"description":"Check id (UUID) from list_checks.","maxLength":200,"title":"Check Id","type":"string"}},"required":["check_id"],"title":"get_checkArguments","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_scenario_sets":{"post":{"operationId":"list_scenario_sets","summary":"List scenario sets (test inputs) with name, type, scenario count, tags and app link; the scenario rows are not returned.","description":"List scenario sets (test inputs) with name, type, scenario count, tags and app link; the scenario rows are not returned. Use for \"What scenario sets exist in Okareo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Project id (UUID) from list_projects; leave empty for the key's default scope.","title":"Project Id"},"scenario_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only the scenario set with this id (UUID).","title":"Scenario Id"}},"title":"list_scenario_setsArguments","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_drivers":{"post":{"operationId":"list_drivers","summary":"List simulation drivers with name, temperature, model id and creation time (prompt templates are not returned). Use for ","description":"List simulation drivers with name, temperature, model id and creation time (prompt templates are not returned). Use for \"Which simulation drivers are configured in Okareo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Project id (UUID) from list_projects; leave empty for the key's default scope.","title":"Project Id"}},"title":"list_driversArguments","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_test_run":{"post":{"operationId":"get_test_run","summary":"Get one evaluation test run by id: status, type, timing, datapoint count, progress and app link. Use for \"What is the st","description":"Get one evaluation test run by id: status, type, timing, datapoint count, progress and app link. Use for \"What is the status of Okareo test run 6f1b8d0e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"test_run_id":{"description":"Test run id (UUID).","maxLength":200,"title":"Test Run Id","type":"string"}},"required":["test_run_id"],"title":"get_test_runArguments","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_available_target_models":{"post":{"operationId":"list_available_target_models","summary":"List the target models Okareo can evaluate against, with provider and model names. Use for \"Which target models can I te","description":"List the target models Okareo can evaluate against, with provider and model names. Use for \"Which target models can I test in Okareo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_available_target_modelsArguments","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}}}}