:orphan:

Get subscription unit price
==================================

Returns the current unit price for Microsoft CSP Subscriptions by id.

Prerequisites
^^^^^^^^^^^^^

- Credentials as described in :doc:`/getting-started/authentication`
- Id of a subscription

C#
^^

To get subscription unit price, first create an instance of **CrayonApiClient** and get the token using **CrayonApiClient** instance.

Then call **Subscriptions.GetPriceAsync()** method to get subscription current unit price by passing token and id.

.. code-block:: c#
	:emphasize-lines: 5

	var subscriptionId = <subscriptions id>;
	var client = new CrayonApiClient("https://api.crayon.com/");
	var token = client.Tokens.GetUserToken(clientId, clientSecret, userName, password).GetData().AccessToken;
	
	var result = client.Subscriptions.GetPriceAsync(token, subscriptionId);


Request
^^^^^^^

Request Syntax:

+---------+----------------------------------------------------------------------------+
| Method  | Request URI                                                                |
+=========+============================================================================+
| GET     | *https://api.crayon.com/api/v1/subscriptions/{subscriptionId}/price*       |
+---------+----------------------------------------------------------------------------+

Request Parameters:

+----------------+-----------+----------------------------------------------------------------------+
| Name           | Type      | Description                                                          |
+================+===========+======================================================================+
| subscriptionId | int       | Identifier, a number                                                 |
+----------------+-----------+----------------------------------------------------------------------+

Request Headers:

The following HTTP request headers are supported

+------------------+----------------+-----------------------------------------------------------------+
| Header           | Type           | Description                                                     |
+==================+================+=================================================================+
| Authorization    | string         | Required. The authorization token in the form Bearer <token>.   |
+------------------+----------------+-----------------------------------------------------------------+
| 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/subscriptions/{subscriptionId}/price"
	Accept : application/json
	Content-Type: application/json 
	Authorization : Bearer < Token >


Response
^^^^^^^^

If successful, this method returns a :doc:`/resources/SubscriptionPrice` collection in the response body.

.. literalinclude:: /resources/_static/SubscriptionPrice.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.                                                                                                                                                                                                                                                                |
+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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.                                      |
+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+