canonical: https://jentic.com/apis/azure.com/visual-studio-projects-resource-provider-client

# Microsoft Azure Visual Studio Projects Resource Provider Client

Jentic publishes the only available OpenAPI specification for Visual Studio Projects Resource Provider Client, keeping it validated and agent-ready. This Azure Resource Manager API exposes the microsoft.visualstudio pipelineTemplates resource - a list of pipeline templates available when bootstrapping CI/CD for a new Visual Studio Team Services / Azure DevOps project. Agents typically use it during project bring-up to discover the templates that can be applied automatically. Authentication uses Azure Active Directory OAuth 2.0.

## For AI agents

Lists the pipeline templates available for bootstrapping CI/CD on Visual Studio / Azure DevOps projects through Azure Resource Manager.

## Scope

Does not create projects, run pipelines, or manage repos - use the Visual Studio Resource Provider Client and Azure DevOps APIs for those; this client only lists pipelineTemplates.

## Capabilities

- List the pipeline templates that microsoft.visualstudio exposes for bootstrapping CI/CD on new projects
- Drive a project bootstrap workflow that picks a template id before creating the Visual Studio project resource
- Validate that the microsoft.visualstudio resource provider is registered on a subscription before chaining further operations
- Generate a catalog of available DevOps pipeline templates for an internal developer portal
- Surface template metadata for an agent so it can reason about which template best fits the project being created

## Use cases

### Pipeline template discovery before project create

When provisioning a new Visual Studio / Azure DevOps project through Azure Resource Manager, the bootstrap pipeline often needs a template id. Calling GET /providers/microsoft.visualstudio/pipelineTemplates returns the catalog so the agent can pick a matching template (e.g., a Node.js, .NET, or Java pipeline) before issuing the project create call. This avoids hard-coding template IDs that can drift across regions and tenants.

Example prompt: Call GET /providers/microsoft.visualstudio/pipelineTemplates and return the array of template id, name, and language fields so the orchestrator can match a template to the project being bootstrapped.

### Internal developer portal template catalog

An internal developer portal that lets teams self-serve new projects needs a live list of templates rather than a hand-edited dropdown. Calling this endpoint at portal load time produces a current catalog. Pairing that with Visual Studio project create gives a one-click 'create project with this pipeline' experience.

Example prompt: Fetch pipelineTemplates and emit a JSON list with id, displayName, description for direct render in the developer portal UI.

### Provider readiness check

Some subscriptions need microsoft.visualstudio explicitly registered before any visualstudio/* resources can be created. A successful, non-empty response from this endpoint confirms registration and that the provider is reachable. A 404 indicates the agent should register the provider before continuing the bootstrap workflow.

Example prompt: GET pipelineTemplates and assert response status 200 with a non-empty array; on 404, register the microsoft.visualstudio provider and retry.

### Agent-driven project bootstrap via Jentic

An AI agent helping a team start a new microservice can discover a fitting pipeline template through Jentic, then chain into the Visual Studio Resource Provider Client to create the project. Jentic exposes this endpoint with no parameters required, so the agent only needs to filter the response to a language match and pass the resulting id forward.

Example prompt: Search Jentic for 'list visual studio pipeline templates', execute the operation, filter to language=Node, and return the first matching template id.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /providers/microsoft.visualstudio/pipelineTemplates | List pipeline templates for Visual Studio project bootstrap |

## Key resources

- **pipelineTemplates** — Read-only catalog of pipeline templates available for Visual Studio project bootstrap

## Why Jentic

- **Setup:** Wiring Visual Studio Projects Resource Provider Client by hand means configuring Azure AD OAuth 2.0 against management.azure.com, pinning the 2018-08-01-preview api-version, and coding the ARM read throttling and 429 back-off yourself just to list pipeline templates. Through Jentic you install once, import Visual Studio Projects Resource Provider Client from the API Directory, store the Azure AD OAuth token once, and your agent calls it.
- **Permission scoping:** This client exposes a single read-only operation, GET /providers/microsoft.visualstudio/pipelineTemplates, which takes no resource id beyond the api-version. You choose the operations it may call, so the agent can be held to that one template-catalogue read and nothing that changes state.
- **Credential handling:** Your Azure AD OAuth token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list Visual Studio pipeline templates' before bootstrapping a project, and Jentic returns the microsoft.visualstudio operation with its input schema, which needs no parameters, so the agent runs it and picks a template id without reading the ARM reference.

## Related APIs

- **Visual Studio Resource Provider Client** — Creates the Visual Studio account and project resources that consume these templates
- **Azure DevOps** — Direct Azure DevOps Services REST API for pipelines, repos, and work items
- **GitHub REST API** — Source-control and Actions platform commonly used in place of Azure DevOps

## FAQ

### Why is there no official OpenAPI spec for Visual Studio Projects Resource Provider Client?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Visual Studio Projects Resource Provider Client via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer .

### What authentication does the Visual Studio Projects Resource Provider Client use?

Azure Active Directory OAuth 2.0 with the user_impersonation scope against https://login.microsoftonline.com/common/oauth2/authorize. Through Jentic the AAD client secret is held encrypted in the vault and a scoped bearer token is issued at execution time.

### Can I list Visual Studio pipeline templates with this API?

Yes. GET /providers/microsoft.visualstudio/pipelineTemplates returns the catalog. The endpoint takes no parameters beyond api-version and the AAD bearer token, so it is safe to call on every developer portal page load.

### What are the rate limits for the Visual Studio Projects Resource Provider Client?

Calls go through Azure Resource Manager and inherit the standard ARM read throttling envelope (roughly 12,000 reads per hour per subscription per region). The endpoint is read-only and lightweight; respect Retry-After on a 429.

### How do I list pipeline templates through Jentic?

Run pip install jentic, then client.search('list visual studio pipeline templates'), client.load on the returned GET /providers/microsoft.visualstudio/pipelineTemplates, and client.execute with the api-version. Jentic injects the AAD bearer token from the vault.

### Does this API create Visual Studio projects?

No. This client only lists pipelineTemplates. To create the Visual Studio project itself, use the Visual Studio Resource Provider Client (microsoft.visualstudio/account/{rootResourceName}/project endpoints).

### Can I limit what my agent is allowed to do with the Visual Studio Projects Resource Provider Client API?

Yes. Jentic One runs on your own infrastructure, and your own rules decide which operations and credentials the agent may use. This client exposes only a single read-only operation, GET /providers/microsoft.visualstudio/pipelineTemplates, which takes no resource id beyond the api-version, so you can hold the agent to that one template-catalogue read and nothing that changes state. Because your Azure AD OAuth token is injected only at execution time, the agent never sees the credential and can only call the operations you have allowed.
