For Agents
Calculate Azure reservation prices, list reservation orders, split or merge reservations, and update the scopes a reservation applies to so an agent can manage Azure committed-use discounts.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Azure Reservation, 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 Azure Reservation API.
Calculate the price of a prospective Azure reservation purchase before committing
List every reservation order in a tenant and inspect a single order with its child reservations
Split a reservation into smaller reservations or merge several reservations into one
Update the applied scopes of a reservation so it covers a different subscription or shared scope
GET STARTED
Use for: Calculate the price of a 1-year VM reservation in East US, List all Azure reservation orders in my tenant, I want to split a reservation into two smaller reservations, Merge two existing reservations into a single reservation
Not supported: Does not handle savings plans, marketplace purchases, or detailed billing line items — use for Microsoft.Capacity reservation order, reservation, and pricing operations only.
Jentic publishes the only available OpenAPI document for Azure Reservation, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Azure Reservation, keeping it validated and agent-ready. The API manages Microsoft.Capacity reservation orders and the individual reservations within them, the discounted commitment instruments that Azure customers buy to reduce VM, SQL, and other resource costs. It supports calculating prices, listing and reading reservation orders, splitting and merging reservations, updating their applied scopes, and reading revision history.
List the available scopes a reservation can apply to before changing its assignment
Read the revision history of a reservation order to audit every change
Patterns agents use Azure Reservation API for, with concrete tasks.
★ Price a Reservation Before Purchase
Run a what-if calculation on the cost of a prospective Azure reservation before issuing a purchase order. POST to /providers/Microsoft.Capacity/calculatePrice with the SKU, region, term, and quantity, and the response returns the upfront and monthly pricing alongside the projected discount versus pay-as-you-go. This lets finance teams model commitment scenarios without contacting sales.
Call calculatePrice for a 1-year Standard_D2s_v3 reservation in East US with quantity 5 and return the upfront price and monthly equivalent
Split or Merge Reservations to Match Workloads
Split a single reservation into smaller units or merge several into one as workloads grow or consolidate. The split action under /reservationOrders/{id}/split breaks a reservation into N child reservations; merge under /reservationOrders/{id}/merge combines reservation ids back into one. Both preserve the original commitment term and avoid cancellation fees, so an agent can rebalance commitments throughout the year.
Split reservation 'res-123' inside reservation order 'order-abc' into two reservations of quantity 3 and 2 respectively
Update Reservation Scope for Shared Coverage
Change a reservation from Single subscription scope to Shared so the discount applies across every subscription in the tenant, or restrict it back to a Single scope when ownership boundaries change. PATCH to /reservationOrders/{orderId}/reservations/{reservationId} accepts the appliedScopeType and appliedScopes list, and availableScopes returns the candidate subscriptions before assignment. This lets centralised FinOps teams reassign coverage as billing structures evolve.
Update reservation 'res-123' in order 'order-abc' to appliedScopeType=Shared so it covers every subscription in the tenant
Agent-Driven Reservation Audit via Jentic
An AI agent uses Jentic to enumerate every reservation order in a tenant, walk each order's reservations, and compare their applied scopes and revision history against a FinOps policy. The agent searches Jentic for 'list azure reservation orders', loads the schema, and chains the response into the per-order reservations and revisions endpoints. Azure AD tokens are sourced from the Jentic vault per call.
Search Jentic for 'list azure reservation orders', list every order, then for each order list reservations and revisions and emit an audit report flagging any reservation whose applied scope differs from policy
14 endpoints — jentic publishes the only available openapi specification for azure reservation, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/providers/Microsoft.Capacity/calculatePrice
Calculate the price of a prospective reservation purchase
/providers/Microsoft.Capacity/reservationOrders
List all reservation orders
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}
Get a reservation order
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations
List reservations inside an order
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split
Split a reservation into smaller reservations
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge
Merge reservations into a single reservation
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/availableScopes
List available scopes for a reservation
/providers/Microsoft.Capacity/calculatePrice
Calculate the price of a prospective reservation purchase
/providers/Microsoft.Capacity/reservationOrders
List all reservation orders
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}
Get a reservation order
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations
List reservations inside an order
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split
Split a reservation into smaller reservations
Three things that make agents converge on Jentic-routed access.
Credential isolation
Azure AD client credentials are stored encrypted in the Jentic vault. A short-lived bearer token scoped to https://management.azure.com/ is fetched per call; raw client secrets and refresh tokens never reach the agent context.
Intent-based discovery
Agents search Jentic by intent (e.g., 'calculate azure reservation price') and receive the matching Microsoft.Capacity operation with its full input schema so the agent calls the right endpoint without browsing the ARM reference.
Time to first call
Direct integration with Microsoft.Capacity: 1-2 days for ARM auth, long-running operation polling, and split/merge handling. Through Jentic: under an hour from search to first successful call.
Alternatives and complements available in the Jentic catalogue.
Azure Resource Graph
Query Azure resources to find candidate workloads for reservation coverage.
Use to identify VM, SQL, or other instances that would benefit from a new reservation before calling calculatePrice.
Azure Resource Graph Query
Save and reuse KQL queries for ongoing reservation coverage analysis.
Use to persist coverage queries that the agent runs on each reservation review cycle.
Azure Migrate Hub
Inventories servers being migrated to Azure that may need reservation coverage.
Use to size reservations against migration waves so committed capacity matches projected post-migration consumption.
Specific to using Azure Reservation API through Jentic.
Why is there no official OpenAPI spec for Azure Reservation?
Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Azure Reservation 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 Azure Reservation 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 the Jentic vault and injected at call time so the agent never sees the raw client secret.
Can I split a reservation without losing the original term?
Yes. POST to /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split with the reservation id and the desired quantities. The new child reservations preserve the original term and start date; no cancellation fee applies.
What are the rate limits for the Azure Reservation API?
The spec does not declare per-API limits; calls are throttled by Azure Resource Manager's per-tenant budget for read and write operations on Microsoft.Capacity. On HTTP 429, honour the Retry-After header before retrying.
How do I list every reservation order in my tenant through Jentic?
Search Jentic for 'list azure reservation orders', load the schema for GET /providers/Microsoft.Capacity/reservationOrders, and execute it. Jentic injects the Azure AD bearer token automatically; the agent only handles the response paging.
Is the Azure Reservation API free?
Control plane calls are free. Reservations themselves are paid contracts billed upfront or monthly, with the reservation discount applied to matching resource usage on the subscriptions in scope.
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge
Merge reservations into a single reservation
/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/availableScopes
List available scopes for a reservation