{"openapi":"3.1.0","info":{"title":"Datarobot Deployments (BYOK) API","version":"0.1.0","description":"Datarobot Deployments (BYOK) lets an AI assistant read your own Datarobot Deployments data through the Datarobot Deployments API with a key you supply (DataRobot API key (US cloud, app.datarobot.com)). Read-only: 11 tools (list_deployments, get_deployment, list_deployment_model_history, list_deployment_features, get_deployment_capabilities, get_deployment_service_stats,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-datarobot-deployments.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-datarobot-deployments/docs"},"termsOfService":"https://connectorbay.com/byok-datarobot-deployments/terms"},"servers":[{"url":"https://byok-datarobot-deployments.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-datarobot-deployments/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_deployments":{"post":{"operationId":"list_deployments","summary":"List MLOps deployments with target, model, prediction environment and service, model and accuracy health. US cloud only.","description":"List MLOps deployments with target, model, prediction environment and service, model and accuracy health. US cloud only. Use for \"Which DataRobot deployments do I have and are they healthy\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many deployments to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Deployments to return (1 to 100).","title":"Limit"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Case-insensitive search in deployment label and description.","title":"Search"},"order_by":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Sort order, for example label, -label, lastPredictionTimestamp or -lastPredictionTimestamp (prefix - for descending).","title":"Order By"},"created_by_me":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":null,"description":"Set to true to list only deployments created by the key's user.","title":"Created By Me"}},"title":"list_deploymentsArguments","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_deployment":{"post":{"operationId":"get_deployment","summary":"Get one deployment: label, model, registered model package, prediction environment, health statuses and approval state. ","description":"Get one deployment: label, model, registered model package, prediction environment, health statuses and approval state. Use for \"Show the details of DataRobot deployment 65a1b2c3d4e5f6a7b8c9d0e4\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"ID of the deployment, as returned by list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"}},"required":["deployment_id"],"title":"get_deploymentArguments","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_deployment_model_history":{"post":{"operationId":"list_deployment_model_history","summary":"List the models a deployment has served over time, with start and end dates and the replacement reason. Use for \"Which m","description":"List the models a deployment has served over time, with start and end dates and the replacement reason. Use for \"Which models has DataRobot deployment 65a1b2c3d4e5f6a7b8c9d0e4 used in the past\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"ID of the deployment, as returned by list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"At most this many results (default 25).","title":"Limit"}},"required":["deployment_id"],"title":"list_deployment_model_historyArguments","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_deployment_features":{"post":{"operationId":"list_deployment_features","summary":"List the input features of a deployment's model with type and importance, to see what the model expects. Use for \"What f","description":"List the input features of a deployment's model with type and importance, to see what the model expects. Use for \"What features does DataRobot deployment 65a1b2c3d4e5f6a7b8c9d0e4 use\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"ID of the deployment, as returned by list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many features to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many features to return (default 25).","title":"Limit"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Case-insensitive search in feature names.","title":"Search"},"order_by":{"anyOf":[{"enum":["name","-name","importance","-importance"],"type":"string"},{"type":"null"}],"default":null,"description":"Order by name, -name, importance or -importance.","title":"Order By"}},"required":["deployment_id"],"title":"list_deployment_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/get_deployment_capabilities":{"post":{"operationId":"get_deployment_capabilities","summary":"Show which monitoring and management capabilities (drift tracking, retraining, challengers) a deployment supports. Use f","description":"Show which monitoring and management capabilities (drift tracking, retraining, challengers) a deployment supports. Use for \"What can DataRobot deployment 65a1b2c3d4e5f6a7b8c9d0e4 do, does it support drift tracking\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"ID of the deployment, as returned by list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"}},"required":["deployment_id"],"title":"get_deployment_capabilitiesArguments","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_deployment_service_stats":{"post":{"operationId":"get_deployment_service_stats","summary":"Get service health numbers for a period: total requests, predictions, error rates, response and execution time, load. Us","description":"Get service health numbers for a period: total requests, predictions, error rates, response and execution time, load. Use for \"How many requests did DataRobot deployment 65a1b2c3d4e5f6a7b8c9d0e4 serve this week and how many failed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"ID of the deployment, as returned by list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"},"start":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the period, ISO 8601 date-time (default: 7 days ago).","title":"Start"},"end":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the period, ISO 8601 date-time (default: now).","title":"End"}},"required":["deployment_id"],"title":"get_deployment_service_statsArguments","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_deployment_feature_drift":{"post":{"operationId":"get_deployment_feature_drift","summary":"Get per-feature data drift scores of a deployment for a period, with the drift metric used. Use for \"Which features of D","description":"Get per-feature data drift scores of a deployment for a period, with the drift metric used. Use for \"Which features of DataRobot deployment 65a1b2c3d4e5f6a7b8c9d0e4 are drifting\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"ID of the deployment, as returned by list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"},"start":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the period, ISO 8601 date-time (default: 7 days ago).","title":"Start"},"end":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the period, ISO 8601 date-time (default: now).","title":"End"},"metric":{"anyOf":[{"enum":["psi","kl_divergence","dissimilarity","hellinger","js_divergence"],"type":"string"},{"type":"null"}],"default":null,"description":"Drift metric: psi, kl_divergence, dissimilarity, hellinger or js_divergence.","title":"Metric"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many features to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many features to return (default 25).","title":"Limit"}},"required":["deployment_id"],"title":"get_deployment_feature_driftArguments","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_deployment_target_drift":{"post":{"operationId":"get_deployment_target_drift","summary":"Get the drift score of the prediction target of a deployment for a period. Use for \"Has the target of DataRobot deployme","description":"Get the drift score of the prediction target of a deployment for a period. Use for \"Has the target of DataRobot deployment 65a1b2c3d4e5f6a7b8c9d0e4 drifted\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"deployment_id":{"description":"ID of the deployment, as returned by list_deployments.","maxLength":200,"title":"Deployment Id","type":"string"},"start":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the period, ISO 8601 date-time (default: 7 days ago).","title":"Start"},"end":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"End of the period, ISO 8601 date-time (default: now).","title":"End"},"metric":{"anyOf":[{"enum":["psi","kl_divergence","dissimilarity","hellinger","js_divergence"],"type":"string"},{"type":"null"}],"default":null,"description":"Drift metric: psi, kl_divergence, dissimilarity, hellinger or js_divergence.","title":"Metric"}},"required":["deployment_id"],"title":"get_deployment_target_driftArguments","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_deployment_limits":{"post":{"operationId":"get_deployment_limits","summary":"Show the account's deployment limits and how many deployments exist. Use for \"How many more DataRobot deployments can I ","description":"Show the account's deployment limits and how many deployments exist. Use for \"How many more DataRobot deployments can I create\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_deployment_limitsArguments","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_prediction_servers":{"post":{"operationId":"list_prediction_servers","summary":"List the dedicated prediction servers of the account with URL and queued or running batch prediction counts. Use for \"Wh","description":"List the dedicated prediction servers of the account with URL and queued or running batch prediction counts. Use for \"Which DataRobot prediction servers do I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"At most this many results (default 25).","title":"Limit"}},"title":"list_prediction_serversArguments","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_compute_bundles":{"post":{"operationId":"list_compute_bundles","summary":"List the CPU and GPU resource bundles available for deployments and custom models (cores, memory, GPU type). Use for \"Wh","description":"List the CPU and GPU resource bundles available for deployments and custom models (cores, memory, GPU type). Use for \"Which GPU resource bundles can I use on DataRobot\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"use_case":{"anyOf":[{"enum":["customApplication","customJob","customModel","customTaskFit","modelingMachineWorker","predictionAPI","sapAICore","sparkApplication","workload"],"type":"string"},{"type":"null"}],"default":null,"description":"Only bundles for this use case.","title":"Use Case"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip.","title":"Offset"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"At most this many results (default 25).","title":"Limit"}},"title":"list_compute_bundlesArguments","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}}}}