Get subscriptions ================= Returns a collection of subscriptions. Prerequisites ^^^^^^^^^^^^^ - Credentials as described in :doc:`/getting-started/authentication` C# ^^ To get subscriptions, first instantiate **SubscriptionFilter** if you are planning to filter on any criteria such as customer tenant id, organization id and etc., Then set **Page** and **PageSize** properties to their respective value if you would like to restrict number of objects in the result. **Page** and **PageSize** properties are used to apply paging in the result. Next, get the instance of **CrayonApiClient** and get the token using the instance. This client token will be passed when retrieving subscriptions. Finally, call **Subscriptions.Get()** method to get all subscriptions by passing the token and the instance of **SubscriptionFilter** for the filter criteria. .. code-block:: c# :emphasize-lines: 8 var filter = new SubscriptionFilter { CustomerTenantId = // should be the identifier of the customer tenant }; var client = new CrayonApiClient("https://api.crayon.com/"); var token = client.Tokens.GetUserToken(clientId, clientSecret, userName, password).GetData().AccessToken; var result = client.Subscriptions.Get(token, filter); Request ^^^^^^^ Request Syntax: +---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Method | Request URI | +=========+===============================================================================================================================================================================================+ | GET | *https://api.crayon.com/api/v1/subscriptions/?organizationId={organizationId}&publisherCustomerId={publisherCustomerId}&search={search}&page={page}&pageSize={pageSize}&sync={source}* | +---------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Request Parameters: +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | Name | Type | Required | Description | +=====================+====================+===========+==============================================================================================================================+ | organizationId | int | No | Filter by organization id | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | customerTenantId | int | No | Filter by customer tenant id | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | publisherCustomerId | string | No | Filter by publisher customer id | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | publisherId | int | No | Filter by publisher id | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | page | int | No | Pagination, current page, starts at page 1 | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | pageSize | int | No | Pagination, number of objects to return | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | search | string | No | Searches by: subscription name, subscription id, product names | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | isTrial | bool | No | Fetches only subscriptions that are trial | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ | statuses | SubscriptionStatus | No | Filter by status: 0-none, 1-active, 2-suspended, 4-deleted, 8-customerCancellation, 16-converted, 32-Expired, 64-Pending | +---------------------+--------------------+-----------+------------------------------------------------------------------------------------------------------------------------------+ 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/subscriptions/?organizationId={organizationId}&publisherCustomerId={publisherCustomerId}&search={search}&page={page}&pageSize={pageSize}&sync={source}" Accept : application/json Content-Type: application/json Authorization : Bearer < Token > Response ^^^^^^^^ If successful, this method returns a :doc:`/resources/SubscriptionCollection` resource in the response body. Response Body: .. literalinclude:: /resources/_static/SubscriptionCollection.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. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+