Get programs ============= Returns a list of programs. Prerequisites ^^^^^^^^^^^^^ - Credentials as described in :doc:`/getting-started/authentication` C# ^^ To get programs, first create an instance of **CrayonApiClient** and get the token using **CrayonApiClient** instance. Then call **Programs.Get()** method to get programs by passing token and filter. .. code-block:: c# :emphasize-lines: 13 var filter = new ProgramFilter { PublisherId = , ProgramType = , Page = 1, PageSize = 1000, Search = , OrganizationId = }; var client = new CrayonApiClient("https://api.crayon.com/"); var token = client.Tokens.GetUserToken(clientId, clientSecret, userName, password).GetData().AccessToken; var result = client.Programs.Get(token, filter); Request ^^^^^^^ Request Syntax: +---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Method | Request URI | +=========+================================================================================================================================================================================+ | GET | *https://api.crayon.com/api/v1/programs/?organizationId={organizationId}&search={search}&page={page}&pageSize={pageSize}&publisherId={publisherId}&programType={programType}* | +---------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Request Parameters: +--------------------+--------------------+-----------+----------------------------------------------------------+ | Name | Type | Required | Description | +====================+====================+===========+==========================================================+ | organizationId | int | No | Identifier for organization | +--------------------+--------------------+-----------+----------------------------------------------------------+ | search | string | No | Search by program name or publisher name | +--------------------+--------------------+-----------+----------------------------------------------------------+ | page | int | No | Pagination, starts at page 1 | +--------------------+--------------------+-----------+----------------------------------------------------------+ | pageSize | int | No | Pagination, Number of objects to return | +--------------------+--------------------+-----------+----------------------------------------------------------+ | publisherId | int | No | Identifier for publisher | +--------------------+--------------------+-----------+----------------------------------------------------------+ | programType | Enum | No | None = 0, License = 1, Report = 2, Cloud = 4 | +--------------------+--------------------+-----------+----------------------------------------------------------+ 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/programs/?organizationId={organizationId}&search={search}&page={page}&pageSize={pageSize}&search={search}&publisherId={publisherId}&programType={programType}" Accept : application/json Content-Type: application/json Authorization : Bearer < Token > Response ^^^^^^^^ If successful, this method returns a collection :doc:`/resources/Program` resource in the response body. .. literalinclude:: /resources/_static/ProgramCollection.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. | +--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+