canonical: https://jentic.com/apis/azure.com/azure-monitor-private-link-scopes

# Microsoft Azure Azure Monitor Private Link Scopes

Jentic publishes the only available OpenAPI specification for Azure Monitor Private Link Scopes, keeping it validated and agent-ready. The API manages Azure Monitor Private Link Scopes (AMPLS) under the microsoft.insights provider, allowing teams to gate Application Insights and Log Analytics ingestion to private network endpoints. It exposes 16 endpoints covering scope CRUD, scoped resource binding, private endpoint connection approval, and private link resource discovery.

## For AI agents

Create Azure Monitor Private Link Scopes, attach Application Insights and Log Analytics resources to them, and approve or reject the private endpoint connections that bind monitoring to a private network.

## Scope

Does not handle metric ingestion, alert rule evaluation, or workspace querying - use for AMPLS, scoped resource, and private endpoint connection operations only.

## Capabilities

- Create or update an Azure Monitor Private Link Scope and configure its resource group placement
- Attach Application Insights components or Log Analytics workspaces to a scope as scopedResources
- Approve, reject, or delete pending private endpoint connections on an AMPLS
- List the privateLinkResources exposed by a scope for client-side DNS configuration
- Enumerate every Private Link Scope in a subscription or scoped to a resource group
- Delete a Private Link Scope when private network ingestion is no longer required

## Use cases

### Lock Application Insights Ingestion to a Private Network

Create an Azure Monitor Private Link Scope, attach the relevant Application Insights components and Log Analytics workspaces as scopedResources, and approve a private endpoint connection from the corporate VNet so monitoring data never traverses the public internet. The PUT on `/privateLinkScopes/{scopeName}` provisions the scope, the scopedResources child API binds monitoring resources, and privateEndpointConnections approves the inbound link. This satisfies common compliance requirements that telemetry must remain on private networking.

Example prompt: Create an AMPLS named 'prod-ampls' in resource group 'monitoring-rg', attach the Log Analytics workspace 'prod-law', and approve the pending private endpoint connection from the corporate VNet

### Approve Pending Private Endpoint Connections at Scale

Iterate over every Private Link Scope in a subscription, list its pending privateEndpointConnections, and approve those originating from approved subscriptions while rejecting the rest. The privateEndpointConnections API supports list, get, create-or-update (used for approval state), and delete on a per-connection basis. This replaces manual portal review and produces a deterministic audit log of approval decisions.

Example prompt: List all private endpoint connections on AMPLS 'prod-ampls' with status Pending and approve any whose subscription id is in the allowlist, rejecting the rest

### Audit Scoped Resources Across All AMPLS

Walk every Azure Monitor Private Link Scope in a subscription and list its scopedResources to build a single inventory of which Application Insights components and Log Analytics workspaces are protected by private link. Each scopedResource record includes the linkedResourceId so the report can be correlated with the resource's own metadata. This audit is the foundation for compliance evidence that telemetry is private-network only.

Example prompt: List every AMPLS in subscription '00000000-0000-0000-0000-000000000000' and emit a CSV of (scopeName, scopedResourceName, linkedResourceId) rows

### Agent-Driven AMPLS Compliance Workflow via Jentic

An AI agent uses Jentic to audit Azure Monitor private networking on a schedule: discovering scopes, validating their scoped resources, and approving or rejecting pending private endpoint connections by policy. The agent searches Jentic for 'list azure monitor private link scopes', loads the schema, and chains it into the scopedResources and privateEndpointConnections operations. Azure AD tokens are sourced from your Jentic One instance per call.

Example prompt: Search Jentic for 'list azure monitor private link scopes', list every AMPLS, walk each scope's scopedResources and pending privateEndpointConnections, and emit a compliance report flagging deviations

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes/{scopeName}` | Create or update an AMPLS |
| GET | `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes/{scopeName}` | Get an AMPLS |
| DELETE | `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/privateLinkScopes/{scopeName}` | Delete an AMPLS |
| GET | `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/scopedResources` | List scoped resources on an AMPLS |
| PUT | `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}` | Create or update a private endpoint connection (approval/rejection) |
| GET | `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections` | List private endpoint connections |
| GET | `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateLinkResources` | List private link resources for DNS configuration |

## Key resources

- **PrivateLinkScopes** — Create, read, update, and delete Azure Monitor Private Link Scopes scoped to a resource group.
- **ScopedResources** — Bind Application Insights and Log Analytics resources to an AMPLS as scopedResources.
- **PrivateEndpointConnections** — Approve, reject, list, and delete private endpoint connections on an AMPLS.
- **PrivateLinkResources** — Read the private link resource subtypes exposed by a scope for client DNS configuration.

## Why Jentic

- **Setup:** Wiring Azure Monitor Private Link Scopes by hand means registering an Azure AD app, acquiring bearer tokens for https://management.azure.com/, and polling the long-running connection-approval operations while you handle ARM throttling yourself. Through Jentic you install once, import Azure Monitor Private Link Scopes from the API Directory, store the Azure AD credential once, and your agent calls it.
- **Permission scoping:** The scope id travels in the URL path (`/privateLinkScopes/{scopeName}/...`), so a rule can pin your agent to one Private Link Scope: it can list scoped resources and read private endpoint connections there and nothing else. You choose the operations it may call, so ones like deleting a scope or rejecting a private endpoint connection are not included unless you add them.
- **Credential handling:** Your Azure AD credential is stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived bearer token at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'attach a workspace to an Azure Monitor private link scope' or 'approve a pending private endpoint connection', and Jentic returns the matching microsoft.insights operation with its input schema so the agent calls the right endpoint without browsing the ARM reference.

## Related APIs

- **Azure Log Analytics** — Manages the Log Analytics workspaces that are bound to an AMPLS as scoped resources.
- **Azure Resource Graph** — Run KQL queries to find every microsoft.insights resource and validate AMPLS coverage.
- **Azure Activity Log Alerts** — Alert on Azure Activity Log events, including AMPLS configuration changes.

## FAQ

### Why is there no official OpenAPI spec for Azure Monitor Private Link Scopes?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Azure Monitor Private Link Scopes 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 Azure Monitor Private Link Scopes API use?

The API uses Azure Active Directory OAuth 2.0 (the azure_auth scheme) with the user_impersonation scope on https://management.azure.com/. Through Jentic, the bearer token is fetched from your Jentic One instance and injected at call time so the agent never sees the raw client secret.

### How do I approve a pending private endpoint connection on an AMPLS?

PUT to `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/privateLinkScopes/{scopeName}/privateEndpointConnections/{privateEndpointConnectionName}` with privateLinkServiceConnectionState.status set to 'Approved'. The same endpoint with status 'Rejected' rejects the connection.

### What are the rate limits for the Azure Monitor Private Link Scopes API?

The spec does not declare per-API limits; calls are throttled by Azure Resource Manager's per-subscription budget for read and write operations on microsoft.insights. Honour the Retry-After header on HTTP 429 before retrying.

### How do I attach a Log Analytics workspace to an AMPLS through Jentic?

Search Jentic for 'attach log analytics to private link scope', load the schema for PUT `/privateLinkScopes/{scopeName}/scopedResources/{name}`, supply the linkedResourceId of the workspace, and execute. Jentic injects the Azure AD bearer token automatically.

### Is the Azure Monitor Private Link Scopes API free?

Control plane calls are free. The underlying Private Link infrastructure incurs Azure Private Endpoint and DNS charges, and Application Insights or Log Analytics ingestion is billed at standard Azure Monitor rates.

### Can I limit what my agent is allowed to do with the Azure Monitor Private Link Scopes API?

Yes. Because Jentic One is self-hosted, your own rules decide which operations and credentials the agent may use, and the scope name travels in the URL path (`/privateLinkScopes/{scopeName}/...`), so you can pin the agent to a single Private Link Scope where it only lists scoped resources and reads private endpoint connections. You choose the operations it may call, so destructive ones like deleting a scope or rejecting a private endpoint connection are excluded unless you explicitly add them. The Azure AD credential is held by your Jentic One instance and exchanged for a short-lived token at call time, never reaching the agent's prompt or logs.
