For Agents
Provision and manage Azure Lab Services accounts, labs, gallery images, and per-user training environments. Use for classroom and training VM lifecycle, not for production virtual machine workloads.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the ManagedLabsClient, 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 ManagedLabsClient API.
Create and manage lab accounts that group labs under a billing and policy boundary
Provision labs inside a lab account with size limits, expiration, and shared password policy
Configure environment settings that define the VM template, size, and network for a lab
Manage per-user environments — start, stop, and reset VMs assigned to individual students
GET STARTED
Use for: Create a new lab account for the data science training programme, Provision a lab inside the 'training' lab account with a 30-user cap, Set up environment settings using a Windows 11 gallery image with Standard_D2s_v3 VMs, List all environments assigned to user 'student@example.com' across labs
Not supported: Does not run production VMs, manage Microsoft.Compute virtual machines, or act as a learning management system — use only for Microsoft.LabServices classroom and training lab lifecycle.
Jentic publishes the only available OpenAPI document for ManagedLabsClient, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for ManagedLabsClient, keeping it validated and agent-ready. ManagedLabsClient is the Azure Resource Manager surface for the Microsoft.LabServices provider — Azure Lab Services. It provisions lab accounts, the labs inside them, gallery images for VM templates, environment settings, and the per-user environments that students and trainees connect to. It is purpose-built for classroom and training scenarios where many short-lived VMs must be created from a shared template.
Add and remove users from a lab and inspect their assigned environments
Browse gallery images available for use as a lab VM template
Register and authenticate global users, retrieve their personal preferences and environment list
Patterns agents use ManagedLabsClient API for, with concrete tasks.
★ Classroom Lab Provisioning
Universities and corporate training providers deliver hands-on courses by provisioning a lab per cohort. ManagedLabsClient creates the lab account, the lab itself, and the environment setting that ties the lab to a Windows or Linux gallery image. Students are added by email and Lab Services creates a per-user environment cloned from the template, ready before class starts.
Create lab account 'data-science-training' in westus, then provision a lab 'spring-2026-cohort' with 30 maxUsersInLab and an environmentSetting using gallery image 'Win11-DataScience' on Standard_D2s_v3, then add student emails from a CSV.
Per-Student Environment Lifecycle
Instructors start a student's lab VM right before class and stop it at the end to keep compute spend predictable. The Environments resource exposes Start and Stop on each per-user environment, and the GlobalUsers GetEnvironment endpoint lets a student-facing portal fetch the connection details on demand. Reset returns the environment to template state for a fresh session.
List environments in lab 'spring-2026-cohort' with status=Stopped, call Start on each one assigned to today's session attendees, and return their RDP connection URLs.
Cohort Cost Control
Operations teams cap classroom spend by stopping all running environments in a lab at the end of the day and removing expired labs from the lab account. Listing environments by status and bulk-stopping is a common end-of-day routine. Lab expiration is enforced through the lab's expirationDate property, and Labs_Delete cleans up everything underneath.
List all labs in the lab account, stop every Environment with status=Started across labs, then DELETE any lab whose expirationDate is more than 7 days in the past.
Gallery Image Curation
Course owners curate which VM images students can launch by approving gallery images for a lab account. GalleryImages_List returns every available image in the lab account; updating an image's isEnabled flag controls whether instructors can select it when configuring environment settings. This keeps lab launches consistent with curriculum requirements.
List GalleryImages in lab account 'data-science-training', then PATCH the image named 'Win10-Office' setting isEnabled=true so instructors can use it in new environment settings.
AI Agent Lab Operations
Operations agents that own classroom infrastructure use Jentic to discover Lab Services operations on demand. Searching for an intent like 'start a lab services environment' returns the matching schema; the agent loads it and executes against management.azure.com using a token retrieved from the Jentic vault, so per-cohort routines do not require bundling the Lab Services SDK.
Use Jentic to search 'start an azure lab services environment for a user', load the Environments_Start schema, and POST to start the per-user environment for each student in the day's session.
55 endpoints — jentic publishes the only available openapi specification for managedlabsclient, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/providers/Microsoft.LabServices/users/{userName}/listEnvironments
List all environments assigned to a global user
/providers/Microsoft.LabServices/users/{userName}/listLabs
List labs a global user is enrolled in
/providers/Microsoft.LabServices/users/{userName}/getEnvironment
Fetch a single environment with connection details
/providers/Microsoft.LabServices/users/{userName}/register
Register a global user against a lab
/providers/Microsoft.LabServices/operations
List Microsoft.LabServices provider operations
/providers/Microsoft.LabServices/users/{userName}/getPersonalPreferences
Get a global user's personal lab preferences
/providers/Microsoft.LabServices/users/{userName}/listEnvironments
List all environments assigned to a global user
/providers/Microsoft.LabServices/users/{userName}/listLabs
List labs a global user is enrolled in
/providers/Microsoft.LabServices/users/{userName}/getEnvironment
Fetch a single environment with connection details
/providers/Microsoft.LabServices/users/{userName}/register
Register a global user against a lab
/providers/Microsoft.LabServices/operations
List Microsoft.LabServices provider operations
Three things that make agents converge on Jentic-routed access.
Credential isolation
AAD client credentials are stored encrypted in the Jentic vault. Agents receive only short-lived bearer tokens scoped to https://management.azure.com/ at call time. Per-user lab connection passwords surfaced via GetEnvironment are returned through Jentic's secure return path rather than logged.
Intent-based discovery
Agents search by intent (for example, 'list lab services environments for a user') and Jentic returns the matching GlobalUsers_ListEnvironments operation with the right input schema, so the agent calls the correct endpoint without scraping documentation.
Time to first call
Direct ARM integration: 2-3 days for AAD setup, lab/environment hierarchy navigation, and async polling. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
DevTestLabsClient
Azure DevTest Labs API for engineering team test environments rather than classroom labs.
Choose DevTest Labs when the use case is developer or QA environments with formulas and policies; choose ManagedLabsClient for classroom and training cohorts.
NetworkManagementClient
Configure VNets and subnets used by lab environment settings.
Use to provision and manage the network resources a lab references for VM connectivity.
ManagedServiceIdentityClient
Provision identities used by lab automation runbooks.
Use when granting an automation identity access to manage labs across subscriptions.
Specific to using ManagedLabsClient API through Jentic.
Why is there no official OpenAPI spec for ManagedLabsClient?
Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call ManagedLabsClient 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 ManagedLabsClient use?
AAD OAuth 2.0 bearer tokens scoped to https://management.azure.com/. With Jentic, AAD client credentials are stored encrypted in the vault and a short-lived bearer token is injected at call time.
Does this API replace Azure DevTest Labs?
No — Azure Lab Services (Microsoft.LabServices) and Azure DevTest Labs (Microsoft.DevTestLab) are separate offerings. Lab Services is built for classroom and training scenarios with simple per-user VMs; DevTest Labs is aimed at developer and test environments with formulas, artifacts, and policies for engineering teams.
What are the rate limits for the ManagedLabsClient?
Standard Azure Resource Manager throttling — typically 12,000 reads and 1,200 writes per hour per subscription per region. Environment Start and Stop calls are asynchronous and return 202 Accepted; the GlobalUsers GetOperationStatus endpoint surfaces progress.
How do I start a student VM through Jentic?
Run pip install jentic, then search Jentic for 'start an azure lab services environment for a user'. Jentic returns the Environments_Start operation; load it, supply the lab account, lab name, environment setting name, and environment name, and POST to /environments/{environmentName}/start.
Can I use this API to run production workloads?
No. Lab Services VMs are scoped to short-lived training scenarios with shared-password access and no SLA-grade guarantees. Production workloads should use Microsoft.Compute virtual machines or virtual machine scale sets via the standard compute APIs.
/providers/Microsoft.LabServices/users/{userName}/getPersonalPreferences
Get a global user's personal lab preferences