@suvra jyoti As per your request URL https://test-apim.management.azure-api.net/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg-test-apim-eus/providers/Microsoft.ApiManagement/service/test-apim/reports/byApi?$filter=**subscriptionId**%20eq%20'/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg-test-apim-eus/providers/Microsoft.ApiManagement/service/test-apim/subscriptions/xxxxxxxxxxxxxxxxxxxx'&api-version=2019-12-01
You are trying to filter it based on subscriptionID which is not possible. You can only filter on the set of data that is collected i.e. response from the API.
I don't see any response filed with the subscriptionID. To know what filters are supported you can try using them in the filter and the API will return you the result as 400 along with an error message if the filter is not supported on that field.
--------------------------------
Updated:
@suvra jyoti My bad. Yes, ResportRecordContract has the property subscriptionId which can be used in the filter condition. The test that I have performed at my end doesn't have this field in my response as well the sample response which there in the document makes me believe with my observation previously.
If you want to use the filter along with Order by clause you can define the query parameter $orderby with the value of any column as per ResportRecordContract
Example:
https://management.azure.com/subscriptions/{subscription ID}/resourceGroups/{Resourcegroupname}/providers/Microsoft.ApiManagement/service/{APIMInstance}/reports/byApi?%24filter=timestamp%20ge%20datetime%272021-05-19T00%3A00%3A00%27%20and%20timestamp%20le%20datetime%272021-05-21T00%3A00%3A00%27&api-version=2019-12-01&%24orderby=name%20desc
reports/byApi?$filter=timestamp ge datetime'2021-05-19T00:00:00' and timestamp le datetime'2021-05-21T00:00:00' and subscriptionId eq 'c0ba7e7b33044ed09fd11b6a23b233dc'&api-version=2019-12-01"&$orderby=name desc
As 'orderby' field supports the OData order by query option you can also refer to this document.