For Agents
Provision GPU clusters, file servers, experiments, and training jobs for distributed deep learning on Azure BatchAI workspaces.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the BatchAI, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with BatchAI API.
Provision and resize GPU-backed clusters scoped to a BatchAI workspace
Create file servers that mount as shared storage for training jobs
Submit, terminate, and inspect training jobs grouped under experiments
List remote login credentials for cluster nodes during debugging
GET STARTED
Use for: I need to provision a GPU cluster for distributed training, Submit a training job to an existing BatchAI experiment, List the output files from a completed BatchAI job, Terminate a runaway training job before it consumes more credits
Not supported: Does not handle model registry, hyperparameter tuning, or inference deployment — use for BatchAI workspace, cluster, and job lifecycle only.
Jentic publishes the only available OpenAPI document for BatchAI, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for BatchAI, keeping it validated and agent-ready. The Azure BatchAI Management API provisions GPU-enabled clusters, file servers, experiments, and jobs for distributed deep-learning training on Azure. Operators model their training environment as workspaces containing clusters and file servers, then submit experiments and jobs that run on the cluster, with operations to terminate jobs and list output files for inspection.
List output files for a completed job to retrieve checkpoints and logs
Manage workspace lifecycle including create, update, and delete with full ARM tagging
Patterns agents use BatchAI API for, with concrete tasks.
★ Run a distributed deep-learning experiment
ML platform teams use BatchAI to spin up a GPU cluster, attach a shared file server with training data, and submit jobs grouped under an experiment. The API exposes Workspaces_Create, Clusters_Create, FileServers_Create, and Jobs_Create as ARM operations, so the entire training environment can be provisioned reproducibly without portal clicks.
Create a workspace, provision a 4-node GPU cluster, create a file server, then submit a Jobs_Create call for a PyTorch training script
Debug a stuck job
When a training job is not progressing, on-call engineers list its remote login credentials via Jobs_ListRemoteLoginInformation, SSH into the node, and inspect logs. If the job needs to be killed, Jobs_Terminate stops execution while preserving any partial output files for later inspection through Jobs_ListOutputFiles.
Call Jobs_ListRemoteLoginInformation for the job, attempt SSH, and if the job is hung call Jobs_Terminate followed by Jobs_ListOutputFiles to capture partial outputs
Cluster cost control
Finance-aware ML teams resize BatchAI clusters down to zero between training runs to avoid GPU charges. They list workspaces with Workspaces_List, then call Clusters_Update on each cluster with a new scaleSettings target. Combined with experiment cleanup, this keeps idle BatchAI spend close to zero.
Walk every cluster under a workspace and call Clusters_Update with target node count 0 if the cluster has no active jobs
AI agent integration via Jentic
An ML ops agent uses Jentic to run training jobs on demand without learning ARM. The agent searches Jentic for 'submit a BatchAI training job', loads the Jobs_Create schema, and executes with structured input. Jentic mints AAD tokens for management.azure.com so the agent never holds the underlying client secret.
Use Jentic search 'submit a BatchAI training job', load Jobs_Create, and execute with cluster ID, job script, and input directories
29 endpoints — jentic publishes the only available openapi specification for batchai, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}
Create a GPU cluster
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}
Create a training job under an experiment
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate
Terminate a running job
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles
List the output files for a completed job
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}
Create a file server in a workspace
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}
Update a cluster, including resizing nodes
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}
Create a GPU cluster
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}
Create a training job under an experiment
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate
Terminate a running job
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/listOutputFiles
List the output files for a completed job
Three things that make agents converge on Jentic-routed access.
Credential isolation
Azure AD OAuth 2.0 tokens are minted and rotated inside the Jentic vault. Agents receive scoped, short-lived tokens for management.azure.com — client secrets never enter agent context.
Intent-based discovery
Agents search Jentic by intent, e.g. 'submit a BatchAI training job', and Jentic returns Jobs_Create with its input schema so the agent calls the right endpoint without browsing ARM docs.
Time to first call
Direct integration: 2-4 days for AAD auth, ARM polling, and BatchAI job lifecycle handling. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Azure Machine Learning Compute Management
The successor service for ML training compute, replacing BatchAI in most new Azure ML projects.
Pick Machine Learning Compute for new ML training pipelines; use BatchAI only when working with existing BatchAI workspaces.
Azure Batch Management
General-purpose Azure Batch for parallel compute, broader than the BatchAI ML focus.
Use Batch Management for general HPC; use BatchAI for GPU-based deep learning workspaces.
Azure Storage Management
Provisions blob storage that BatchAI clusters mount for training data.
Use Storage Management to set up the data store; use BatchAI to consume it.
Specific to using BatchAI API through Jentic.
Why is there no official OpenAPI spec for BatchAI?
Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call BatchAI via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the BatchAI API use?
The API uses Azure Active Directory OAuth 2.0 declared as azure_auth with the implicit flow. Tokens are presented as Bearer headers against management.azure.com. Through Jentic, the AAD client secret stays in the vault and only scoped, short-lived tokens are used by the agent.
Can I terminate a running training job with this API?
Yes. Call POST on /workspaces/{workspaceName}/experiments/{experimentName}/jobs/{jobName}/terminate (operationId Jobs_Terminate). The job stops and any output files written so far remain available via Jobs_ListOutputFiles.
What are the rate limits for the BatchAI API?
Azure Resource Manager applies subscription-level throttling, typically 12,000 read and 1,200 write requests per hour, surfaced via x-ms-ratelimit-remaining headers. BatchAI also has GPU vCPU quotas per region returned via Usages_List.
How do I submit a training job through Jentic?
Run pip install jentic, then use the async client to search 'submit a BatchAI training job', load Jobs_Create, and execute with the workspace name, experiment name, job name, cluster ID, container settings, and input directories. Jentic returns the job resource so you can poll its state.
Is BatchAI still the recommended Azure ML training service?
BatchAI is the legacy GPU training service for Azure; Microsoft has migrated most users to Azure Machine Learning compute. The API remains usable for existing workspaces, but new projects should evaluate Azure Machine Learning instead.
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/fileServers/{fileServerName}
Create a file server in a workspace
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BatchAI/workspaces/{workspaceName}/clusters/{clusterName}
Update a cluster, including resizing nodes