# Azure Reservation management API

> Azure Reservation management API on Apizie: 22 endpoints (Calculates the refund amounts and price of the new purchases., Calculate price for a `ReservationOrder`., Exchange Reservation(s), Get operations., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:azure-arm-reservations`
- Category: Cloud
- Status: byok
- Source: https://learn.microsoft.com/rest/api/azure/
- Page: https://zieapi.vercel.app/api/cloud/azure-arm-reservations
- OpenAPI: https://zieapi.vercel.app/api/cloud/azure-arm-reservations/openapi.json

Azure Resource Manager API for Reservation: manage these Azure resources in your subscription with a Microsoft Entra access token.

## Endpoints

### Calculates the refund amounts and price of the new purchases.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/calculate-exchange-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| body | object | yes | JSON request body |

### Calculate price for a `ReservationOrder`.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-order-calculate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| body | object | yes | JSON request body |

### Exchange Reservation(s)
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/exchange-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| body | object | yes | JSON request body |

### Get operations.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/operation-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |

### Get all `ReservationOrder`s.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-order-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |

### Get a specific `ReservationOrder`.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-order-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| $expand | string | no | May be used to expand the planInformation. |

### Purchase `ReservationOrder`
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-order-purchase` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| body | object | yes | JSON request body |

### Calculate the refund amount of a reservation order.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/calculate-refund-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| body | object | yes | JSON request body |

### Change directory of `ReservationOrder`.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-order-change-directory` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| body | object | yes | JSON request body |

### Merges two `Reservation`s.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-merge` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| body | object | yes | JSON request body |

### Get `Reservation`s in a given reservation Order
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |

### Get `Reservation` details.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| reservationId | string | yes | Id of the reservation item |
| $expand | string | no | Supported value of this query is renewProperties |

### Updates a `Reservation`.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| reservationId | string | yes | Id of the reservation item |
| body | object | yes | JSON request body |

### Archive a `Reservation`.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-archive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| reservationId | string | yes | Id of the reservation item |

### Get Available Scopes for `Reservation`.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-available-scopes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| reservationId | string | yes | Id of the reservation item |
| body | object | yes | JSON request body |

### Get `Reservation` revisions.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-list-revisions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| reservationId | string | yes | Id of the reservation item |

### Unarchive a `Reservation`.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-unarchive` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| reservationId | string | yes | Id of the reservation item |

### Return a reservation.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/return-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| body | object | yes | JSON request body |

### Split the `Reservation`.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-split` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| reservationOrderId | string | yes | Order Id of the reservation |
| body | object | yes | JSON request body |

### List the reservations and the roll up counts of reservations group by provisioning states that the user has…
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/reservation-list-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| $filter | string | no | May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt',… |
| $orderby | string | no | May be used to sort order by reservation properties. |
| refreshSummary | string | no | To indicate whether to refresh the roll up counts of the reservations group by provisioning states |
| $skiptoken | number | no | The number of reservations to skip from the list before returning results |
| selectedState | string | no | The selected provisioning state |
| take | number | no | To number of reservations to return |

### Get list of applicable `Reservation`s.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/get-applied-reservation-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |

### Get the regions and skus that are available for RI purchase for the specified Azure subscription.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/get-catalog` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. The value must be an UUID. |
| reservedResourceType | string | no | The type of the resource for which the skus should be provided. |
| location | string | no | Filters the skus based on the location specified in this parameter. This can be an azure region or global |
| publisherId | string | no | Publisher id used to get the third party products |
| offerId | string | no | Offer id used to get the third party products |
| planId | string | no | Plan id used to get the third party products |
| $filter | string | no | May be used to filter by Catalog properties. The filter supports 'eq', 'or', and 'and'. |
| $skip | number | no | The number of reservations to skip from the list before returning results |
| $take | number | no | To number of reservations to return |

## Example
```
curl "https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/calculate-exchange-post" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Azure Reservation management API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/cloud:azure-arm-reservations/calculate-exchange-post with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Azure Reservation management API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Azure Reservation management itself also needs your own key from azure.com.

### Can AI agents use the Azure Reservation management API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:azure-arm-reservations.

### What is the status of the Azure Reservation management API?
Needs your own provider key (bring your own key)
