Get usage costs by category =========================== Returns usage costs by category. Prerequisites ^^^^^^^^^^^^^ - Credentials as described in :doc:`/getting-started/authentication` - Reseller customer identifier - Subscription identifier - Category - Currency code - Date span for start of a specific duration - Date span for end of a specific duration Request ^^^^^^^ Request Syntax: +---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Method | Request URI | +=========+======================================================================================================================================================================================+ | GET | *https://api.crayon.com/api/v1/usagecost/resellerCustomer/{resellerCustomerId}/subscription/{subscriptionId}/category/{category}/currency/{currencyCode}/?from={date}&to={date}* | +---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Request Parameters: +---------------------+-----------------------------+-----------+-------------------------------------------------------------+ | Name | Type | Required | Description | +=====================+=============================+===========+=============================================================+ | resellerCustomerId | int | Yes | Customer tenant identifier | +---------------------+-----------------------------+-----------+-------------------------------------------------------------+ | subscriptionId | string | Yes | Subscription identifier | +---------------------+-----------------------------+-----------+-------------------------------------------------------------+ | category | string | Yes | Category value | +---------------------+-----------------------------+-----------+-------------------------------------------------------------+ | currencyCode | string | Yes | Currency code | +---------------------+-----------------------------+-----------+-------------------------------------------------------------+ | from | DateTime? | Yes | Retrieve usage cost starting from this date | +---------------------+-----------------------------+-----------+-------------------------------------------------------------+ | to | DateTime? | Yes | Retrieve usage cost up to this date | +---------------------+-----------------------------+-----------+-------------------------------------------------------------+ 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/usagecost/resellerCustomer/resellerCustomer/{resellerCustomerId}/subscription/{subscriptionId}/category/{category}/currency/{currencyCode}/?from={date}&to={date}" Accept : application/json Content-Type: application/json Authorization : Bearer < Token > Response ^^^^^^^^ If successful, this method returns a :doc:`/resources/CategoryUsageCostCollection` resource in the response body. Response Body: .. literalinclude:: _static/CategoryUsageCostsResponse.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. +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Error 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. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+