App usage record create API

My call to app usage record create API is failing with the following error -

Currency code must be one of AUD, CAD, CHF, CZK, DKK, EUR, GBP, INR, JPY, NOK, PLN, RON, SEK, SGD, USD

I am trying to create a usage record in currency AED. I checked the GraphQL API Docs and it mentions AED as a supported currency.

I don’t understand why my API request is failing.

I was using 2025-01 version of Admin API but I tried using the latest version too giving the same result.

Hey @Anil_Bains - do you have the request ID from the response headers for an example failed API call? I can take a look at the logs on our end with that and see what might be causing this.

Hope to hear from you soon.

Hi @Alan_G ,

Here is the request ID from the response header of the failed request.

x-request-id: 96206dd9-2b11-4245-8a88-d301f7f3b90d-1783662055

Waiting for your reply.

Hey @Anil_Bains - thanks for sending that over.

I’m going to look into this a bit further on our end. I can see why this is confusing if the Admin API docs show AED as part of the broader CurrencyCode enum, so I want to confirm whether app usage billing has a more specific supported-currency list here.

I’ll loop back once I have more info to share with you.

Hey @Anil_Bains - thanks for your patience while I confirmed this.

I was able to confirm that this is expected behaviour. The CurrencyCode enum in the Admin API docs is a broader enum used across multiple areas, while app billing only supports the currencies listed in the error. AED isn’t currently supported for appUsageRecordCreate.

A merchant whose shop currency is AED can still be billed in a supported currency, such as USD, and Shopify will handle the merchant-facing conversion when the charge is collected. The price.currencyCode on the usage record just needs to match the currency used for the capped amount on the parent app subscription.

Hope this helps!