Share via

403 Authorization Failed while calling Reservation Order List API

Anonymous
2025-04-04T13:37:43.56+00:00

Hi,

I'm encountering an issue with the "Microsoft.Capacity/reservationOrders/read" permission. I have this permission assigned at the Root Management Group level. However, when I attempt to fetch reservation order data using the Azure API, I receive the following error:

Message: The client '

Cost Management
Cost Management

A Microsoft offering that enables tracking of cloud usage and expenditures for Azure and other cloud providers.

0 comments No comments

Answer accepted by question author

Obinna Ejidike 2,870 Reputation points Volunteer Moderator
2025-04-07T08:47:19.57+00:00

Hello Prakash

Thank you for the feedback. The key limitation here is the scope context.

Even though the assigned permissions are valid for managing reservation resources, Azure Reservations are billing-scoped, not management group-scoped. This means:

Assigning permissions at the Root Management Group level won’t grant access to reservation orders.

You must ensure that the role (Billing Reader or a custom role with the proper permissions) is explicitly assigned at the billing account or billing profile level in the Azure portal.

1.      Go to the Azure portal → Search for “Cost Management + Billing”

2.      In the Billing scopes, select the Billing account.

3.      Under Access control (IAM), ensure you have:

  • Billing Reader, or
  • A custom role with all required Microsoft.Capacity/* permissions
  • Assigned at the billing account level.

Please go through https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/manage-reserved-vm-instance

Do remember to mark as “Accepted Answer” and consider giving it an upvote. This helps others in the community as well.

Was this answer helpful?

1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. Obinna Ejidike 2,870 Reputation points Volunteer Moderator
    2025-04-04T21:34:04.5966667+00:00

    Hi Prakash

    Thanks for using QandA platform.

    Even though you've assigned the Microsoft.Capacity/reservationOrders/read permission at the Root Management Group, Azure does not treat reservation orders as traditional ARM resources with hierarchy-based scoping. Instead, reservation orders are account-scoped objects tied to billing, and they are managed outside of the typical ARM RBAC scope model.

    You have the correct permission assigned however, it's being applied in a scope that doesn't apply to reservation orders.

    To read reservation orders via the API, you must be assigned a Billing Reader or Reservation Reader role at the Billing Account scope.

    Find: https://learn.microsoft.com/en-us/azure/cost-management-billing/reservations/manage-reserved-vm-instance

    You can mark it 'Accept Answer' and 'Upvote' if this helped you

    Regards,

    Obinna

    Was this answer helpful?

    1 person found this answer helpful.

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.