Get Azure Usage =============== Prerequisites ^^^^^^^^^^^^^ - Find a customer tenant for the Azure Plan :doc:`/scenarios/customertenants-get` - Find your Azure Plan using endpoint *GET https://api.crayon.com/api/v1/CustomerTenants/{customerTenantId}/azurePlan* - Find your Azure subscription id using endpoint *GET https://api.crayon.com/api/v1/AzurePlans/{azurePlanId}/azureSubscriptions/* Request ^^^^^^^ Request Syntax: +---------+---------------------------------------------------------------------------------------------------------------------------------------------------+ | Method | Request URI | +=========+===================================================================================================================================================+ | GET | *https://api.crayon.com/api/v1/AzureUsage/{azurePlanId}/azureSubscriptions/{id}/monthlyUsage?year={year}&month={month}&includeBom={includeBom}* | +---------+---------------------------------------------------------------------------------------------------------------------------------------------------+ Request Parameters: +-------------+------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Name | Type | Required | Description | +=============+======+===========+=================================================================================================================================================================================+ | azurePlanId | int | Yes | Identifier for Azure Plan | +-------------+------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | id | int | Yes | Identifier for subscription | +-------------+------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | year | int | Yes | Year of usage period | +-------------+------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | month | int | Yes | Month of usage period | +-------------+------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | includeBom | int | No | (optional) 1 or 0 (default), indicates whether the file with a byte-order mark should be returned. This is required for Excel to open files with non-English content correctly | +-------------+------+-----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Request Headers: The following HTTP request headers are supported +------------------+----------------+-----------------------------------------------------------------+ | Header | Type | Description | +==================+================+=================================================================+ | Authorization | string | Required. The authorization token in the form Bearer . | +------------------+----------------+----------------------------------------------+------------------+ | Accept | string | Specifies the request and response type, "application/json". | +------------------+----------------+----------------------------------------------+------------------+ | Content-Type | string | Specifies the media type of the resource, "application/json". | +------------------+----------------+----------------------------------------------+------------------+ Request Example: :: GET $"https://api.crayon.com/api/v1/AzureUsage/{azurePlanId}/azureSubscriptions/{id}/monthlyUsage?year={year}&month={month}&includeBom={includeBom}" Accept: application/json Content-Type: application/json Authorization: Bearer < Token > Response ^^^^^^^^ If successful, this method returns the SAS Uri to the blob with an expiry of 30 minutes as a :doc:`/resources/AzureUsage` resource in the response body. Response Body: .. literalinclude:: /resources/_static/AzureUsage.json :language: json Response success and error codes: Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use a network trace tool to read this code, error type, and additional parameters. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Status Codes | Description | +================================+===========================================================================================================================================================================================================================================================================================+ | 200 Ok | The request has succeeded. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 400 Bad Request | The request could not be understood by the server due to malformed syntax, missing required properties, properties that couldn't be parsed according to their type (and length). It is a non-retryable error condition. The client should not repeat the request without modifications. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 401 Unauthorized | The request requires user authentication. If the request already included Authorization credentials, then the 401 (Unauthorized) status code means that authorization has been refused for those credentials. It is a non-retryable error condition. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 404 Not Found | The server has not found anything matching the request. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+