canonical: https://jentic.com/apis/azure.com/azure-media-services

# Microsoft Azure Azure Media Services

Jentic publishes the only available OpenAPI specification for Azure Media Services, keeping it validated and agent-ready. This slice of the Azure Media Services control plane manages account-level filters under Microsoft.Media/mediaServices/{accountName}/accountFilters. Account filters declare reusable streaming-time clipping rules - track selection, presentation time ranges, and timestamp filters - that Streaming Endpoints apply to every Asset under the account, so producers can ship the same on-the-fly trims across all assets without re-encoding. All requests authenticate with Azure AD OAuth 2.0 against Azure Resource Manager.

## For AI agents

Manage Azure Media Services account-level filters that apply streaming-time track and time-range clipping rules across every Asset in a Media Services account.

## Scope

Does not upload assets, run encoding jobs, or stream content - use for Media Services account-level filter management only.

## Capabilities

- Create or update an account-level filter on a Media Services account
- List every account filter attached to a Media Services account
- Retrieve a single account filter's track and presentation time properties
- Update an existing filter's first quality, time range, or track selections
- Delete an account filter that is no longer used

## Use cases

### Reusable Clip Rules Across Assets

Producers ship the same streaming-time trim across every Asset in a Media Services account by defining an account filter once. The PUT on /accountFilters/{filterName} accepts presentationTimeRange, firstQuality, and trackSelections; Streaming Endpoints then apply the filter to manifest requests via filter query parameters, so producers do not re-encode assets to remove trailers or limit bitrates.

Example prompt: Create account filter 'no-intro' on Media Services account 'amsaccount' in resource group 'rg-media' with presentationTimeRange.startTimestamp=0 and presentationTimeRange.endTimestamp=600000000 (60 seconds in 100ns units).

### Bitrate Floor Enforcement via firstQuality

When you want every player to start at a minimum bitrate, an account filter's firstQuality.bitrate sets the lowest manifest entry the Streaming Endpoint will return. Updating the value via PATCH (PUT replace) lets operators raise or lower the floor across the whole account without touching individual assets.

Example prompt: Update account filter 'min-bitrate' on account 'amsaccount' to set firstQuality.bitrate to 1500000 and verify via GET.

### Filter Cleanup Before Account Decommission

Before removing or rebuilding a Media Services account, operators enumerate and delete any leftover account filters so reused filter names do not collide. The GET on /accountFilters lists all filters; DELETE removes them one at a time. This avoids stale filters being inadvertently re-applied if the account is recreated under the same name.

Example prompt: List account filters on 'amsaccount' and delete every filter whose name matches the prefix 'temp-'.

### Agent-Driven Filter Audit

An AI agent through Jentic can enumerate account filters across Media Services accounts in a subscription, compare each filter's track selections and time ranges against a desired-state config, and queue PUT or DELETE calls to bring them into compliance. Jentic returns the per-filter operation schema so the agent never browses the Microsoft.Media docs.

Example prompt: List filters on every Media Services account in subscription '00000000-0000-0000-0000-000000000000' and report any without a presentationTimeRange.endTimestamp set.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters | List account filters on a Media Services account |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName} | Create or update an account filter |
| GET | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName} | Get an account filter by name |
| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName} | Patch an account filter's properties |
| DELETE | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName} | Delete an account filter |

## Key resources

- **Account filters** — Create, read, update, delete, and list account-level streaming filters on a Media Services account

## Why Jentic

- **Setup:** Wiring the Microsoft.Media account filter control plane by hand means registering an Azure AD app, acquiring bearer tokens for management.azure.com, and hand-building the presentationTimeRange, firstQuality, and trackSelections bodies against ARM throttling. Through Jentic you install once, import Azure Media Services from the API Directory, store the Azure AD service principal credentials once, and your agent calls it.
- **Permission scoping:** This surface puts the subscription, resource group, account, and filter name in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName}), so a rule can pin your agent to filters on one Media Services account. You choose the operations it may call, so ones like deleting a filter or patching its time range are not included unless you add them.
- **Credential handling:** Your Azure AD service principal credentials are stored once, encrypted, by your own Jentic One instance and injected as a bearer token scoped to management.azure.com at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an Azure Media Services account filter' or 'list account filters', and Jentic returns the matching Microsoft.Media operation with its input schema so the agent calls the right endpoint without reading the provider docs.

## Related APIs

- **Media Services Management Client** — Manages the Media Services account, Streaming Endpoints, Transforms, and Jobs that consume these filters.
- **Azure Monitor Management Client** — Configure metric alerts and diagnostic settings on the Media Services account.
- **Azure Log Analytics** — Centralise diagnostic logs from the Media Services account in a Log Analytics workspace.

## FAQ

### Why is there no official OpenAPI spec for Azure Media Services?

Microsoft Azure does not publish a single consolidated OpenAPI specification for the Microsoft.Media account filter control plane at this revision. Jentic generates and maintains this spec so that AI agents and developers can call Azure Media Services 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 this API use?

The API uses Azure Active Directory OAuth 2.0; agents acquire a token for the https://management.azure.com/ resource and pass it as a Bearer token. Jentic stores the service principal credentials in its vault and injects scoped tokens at call time.

### Does this API let me upload videos or transcode assets?

No. This slice of the Media Services API only manages account-level filters. To upload assets, run encoding jobs, or stream content you call the Asset, Transform, Job, and StreamingEndpoint endpoints elsewhere in the Microsoft.Media control plane and the data-plane streaming URLs.

### How do I create an account filter through Jentic?

Search Jentic for 'create an Azure Media Services account filter', load the resulting PUT operation on /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName}, then execute it with the filter name and presentationTimeRange or firstQuality body. Install with pip install jentic and run the async search-load-execute flow.

### What is the difference between an account filter and an asset filter?

Account filters apply to every Asset in the Media Services account; asset filters scope to a single Asset. This API exposes account filters only - asset filters live under the Asset resource path of the broader Media Services control plane.

### What are the rate limits for this API?

Azure Resource Manager applies subscription-level throttling - typically 12,000 reads and 1,200 writes per hour per subscription. Filter CRUD is light and rarely hits these limits in practice.

### Can I limit what my agent is allowed to do with the Azure Media Services API?

Yes. Because you run Jentic One yourself, your own rules decide which account filter operations the agent may call, so you can grant listing and reading filters while withholding the create, patch, and delete operations. The subscription, resource group, account name, and filter name all sit in the request path, letting a rule pin the agent to filters on a single Media Services account. You also control the stored Azure AD service principal credentials the agent uses, so it can only reach the account filters you have authorized.
