{"openapi":"3.1.0","info":{"title":"Monte Carlo (BYOK) API","version":"0.1.0","description":"Monte Carlo (BYOK) lets an AI assistant read your own Monte Carlo data through the Monte Carlo API with a key you supply (Monte Carlo API token). Read-only: 8 tools (get_current_user, list_domains, list_data_products, list_tables, get_table, list_alerts, list_monitors, list_account_roles). The BYOK key travels with each request, is used for that one call only and is never stored, logged or...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-monte-carlo.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-monte-carlo/docs"},"termsOfService":"https://connectorbay.com/byok-monte-carlo/terms"},"servers":[{"url":"https://byok-monte-carlo.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-monte-carlo/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_current_user":{"post":{"operationId":"get_current_user","summary":"Show the Monte Carlo user or service account that owns the key: id, display name, state, role, SSO flag and creation tim","description":"Show the Monte Carlo user or service account that owns the key: id, display name, state, role, SSO flag and creation time. Use for \"Which Monte Carlo account does my API key belong to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_current_userArguments","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_domains":{"post":{"operationId":"list_domains","summary":"List Monte Carlo domains (groups of assets owned by a team) with name, description, type and tag. Use for \"Which domains","description":"List Monte Carlo domains (groups of assets owned by a team) with name, description, type and tag. Use for \"Which domains are set up in Monte Carlo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_domainsArguments","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_data_products":{"post":{"operationId":"list_data_products","summary":"List data products with name, description, creation and update time, optionally within one domain. Use for \"Which data p","description":"List data products with name, description, creation and update time, optionally within one domain. Use for \"Which data products exist in Monte Carlo\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"domain_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only data products in this domain UUID.","title":"Domain Id"}},"title":"list_data_productsArguments","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_tables":{"post":{"operationId":"list_tables","summary":"List tables and views that Monte Carlo has discovered, with type, location, tracked and muted flags, status, priority an","description":"List tables and views that Monte Carlo has discovered, with type, location, tracked and muted flags, status, priority and last observed and modified times. Cursor paginated. Use for \"Which tables in Monte Carlo are tracked and what is their status\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"first":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (1 to 100).","title":"First"},"after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from pageInfo.endCursor of the previous answer; leave empty for the first page.","title":"After"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only tables whose name matches this text.","title":"Search"},"warehouse_id":{"anyOf":[{"maxLength":64,"type":"string"},{"type":"null"}],"default":null,"description":"Only tables of this warehouse UUID.","title":"Warehouse Id"},"tracked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for tracked tables only, false for untracked.","title":"Tracked"}},"title":"list_tablesArguments","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_table":{"post":{"operationId":"get_table","summary":"Get one table by MCON: type, location, description, tracked and muted flags, status, priority, anomaly flags, schema cha","description":"Get one table by MCON: type, location, description, tracked and muted flags, status, priority, anomaly flags, schema change count and timestamps. Use for \"Show Monte Carlo details of table MCON++1++2++table++db:public.orders\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"mcon":{"description":"MCON (Monte Carlo object name) of the table, as returned by list_tables.","maxLength":400,"title":"Mcon","type":"string"}},"required":["mcon"],"title":"get_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_alerts":{"post":{"operationId":"list_alerts","summary":"List alerts (grouped incidents) created within a time window of at most two months, with title, type, status, severity, ","description":"List alerts (grouped incidents) created within a time window of at most two months, with title, type, status, severity, comment count and URL. This API field is marked experimental by the vendor. Cursor paginated. Use for \"Which Monte Carlo alerts were raised in the last two weeks\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"created_after":{"description":"Only alerts created after this ISO 8601 time, for example 2026-10-01T00:00:00Z.","maxLength":40,"title":"Created After","type":"string"},"created_before":{"description":"Only alerts created before this ISO 8601 time; the window must be within two months.","maxLength":40,"title":"Created Before","type":"string"},"first":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many items to return (1 to 100).","title":"First"},"after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from pageInfo.endCursor of the previous answer; leave empty for the first page.","title":"After"}},"required":["created_after","created_before"],"title":"list_alertsArguments","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_monitors":{"post":{"operationId":"list_monitors","summary":"List monitors (data quality checks) with type, name, description, severity, schedule, paused and snoozed flags, status, ","description":"List monitors (data quality checks) with type, name, description, severity, schedule, paused and snoozed flags, status, next and previous run times and recent incident count. Use for \"Which Monte Carlo monitors are paused or failing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many monitors to return (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many monitors to skip.","title":"Offset"}},"title":"list_monitorsArguments","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_account_roles":{"post":{"operationId":"list_account_roles","summary":"List the authorization roles of the account with name, label, description, version and whether Monte Carlo manages the r","description":"List the authorization roles of the account with name, label, description, version and whether Monte Carlo manages the role. Use for \"Which roles exist in my Monte Carlo account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_account_rolesArguments","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}}}}