# Get Article Ratings

## Overview
The Get Article Ratings API returns ratings set for an Article. These ratings help you to assess the quality, helpfulness, or relevance of an article.

Endpoint: GET /portals/{portalID}/articles/{articleID}/ratings
Security: oAuthUser, oAuthOnBehalfOfUser, oAuthCustomer, oAuthOnBehalfOfCustomer, oAuthAnonymousCustomer

## Description:

  - `Overview` ()
    The Get Article Ratings API returns ratings set for an Article. These ratings help you to assess the quality, helpfulness, or relevance of an article. ## Versioning
This operation is available in API version `4.0`.

## Security:

  - `oAuthUser` (unknown)
    oauth2 scopes: https://api.egain.cloud/auth/knowledge.portalmgr.read

  - `oAuthOnBehalfOfUser` (unknown)
    oauth2 scopes: https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read

  - `oAuthCustomer` (unknown)
    oauth2 scopes: https://api.egain.cloud/auth/knowledge.portalmgr.read

  - `oAuthOnBehalfOfCustomer` (unknown)
    oauth2 scopes: https://api.egain.cloud/auth/knowledge.portalmgr.onbehalfof.read

  - `oAuthAnonymousCustomer` (unknown)
    oauth2 scopes: https://api.egain.cloud/auth/knowledge.portalmgr.read

## Path parameters:

  - `portalID` (string, required)
    The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.

  - `articleID` (string, required)
    The ID of the Article.<br><br>An Article ID is composed of a 2-4 letter prefix followed by a dash and 4-15 digits.

## Query parameters:

  - `$lang` (string)
    The language used for a resource. Resources available in different languages may differ from each other. 
If <code>$lang</code> is not passed, then the portal's default language is used.

  - `$pagenum` (integer)
    Pagination parameter that specifies the page number of results to be returned. Used in conjunction with $pagesize.

  - `$pagesize` (integer)
    Pagination parameter that specifies the number of results per page. Used in conjunction with $pagenum.

## Header parameters:

  - `x-egain-activity-id` (string)
    A unique numeric interaction identifier from eGain.

  - `x-ext-integration-id` (string)
    The unique numeric identifier for a tenant, used in self-service functionality as well as third-party integrations.<br><br>*Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.<br><br>The x-egain-activity-id may be provided on its own, or it may be provided along with both x-ext-integration-id and x-ext-interaction-id.*

  - `x-ext-interaction-id` (string)
    A unique interaction identifier from other CRM applications.<br><br>*Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.<br><br>The x-egain-activity-id may be provided on its own, or it may be provided along with both x-ext-integration-id and x-ext-interaction-id.*

  - `Accept-Language` (string, required)
    The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses).

## Response 200:

  - `200` (unknown)
    Success

## Response 200 fields (application/json):

  - `articleRatings` (array)

  - `articleRatings.id` (string)
    The ID of the rating.

  - `articleRatings.articleId` (string)
    The ID of the article.An article ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits.

  - `articleRatings.ratingValue` (integer)
    The score value of the rating. This must be a value between 0 and 100.

  - `articleRatings.ratingComments` (string)
    Comments about the rating.

  - `articleRatings.userId` (string)
    The ID of the user that rated the article.

  - `articleRatings.ratingTimestamp` (string)
    The timestamp for when the article was rated.

  - `paginationInfo` (object)

  - `paginationInfo.count` (integer, required)
    The total number of items.

  - `paginationInfo.pagenum` (integer, required)
    The page number requested. Page numbers start from 1.

  - `paginationInfo.pagesize` (integer, required)
    The number of objects requested per page. The maximum number of objects per page is 75.

  - `paginationInfo.link` (array)
    Can include the *prev* and *next* link.

  - `paginationInfo.link.rel` (string)
    Defines the relationship between a linked resource and the current object—for example a resource type name such as *article* or *topic* as defined by the API for that link.

  - `paginationInfo.link.href` (string)
    The URL that specifies the link's destination.

## Response 204:

  - `204` (unknown)
    No Content

## Response 400:

  - `400` (unknown)
    Bad Request

## Response 400 fields (application/json):

  - `code` (string, required)
    A string that follows the pattern *{integer}-{integer}*.
The first *{integer}* is the http status code.  This code as a whole is unique.
* For example, error codes "400-101" and "404-101" are distinctly different.

  - `developerMessage` (string, required)
    A summary of the error.

  - `details` (array)

  - `details.key` (string, required)

  - `details.value` (string)

  - `userMessage` (string)
    UI friendly messages are only supported by some APIs.
* The client must explicitly request UI friendly messages by passing the *X-egain-error-message=yes* header.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `code` (string, required)
    A string that follows the pattern *{integer}-{integer}*.
The first *{integer}* is the http status code.  This code as a whole is unique.
* For example, error codes "400-101" and "404-101" are distinctly different.

  - `developerMessage` (string, required)
    A summary of the error.

  - `details` (array)

  - `details.key` (string, required)

  - `details.value` (string)

  - `userMessage` (string)
    UI friendly messages are only supported by some APIs.
* The client must explicitly request UI friendly messages by passing the *X-egain-error-message=yes* header.

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `code` (string, required)
    A string that follows the pattern *{integer}-{integer}*.
The first *{integer}* is the http status code.  This code as a whole is unique.
* For example, error codes "400-101" and "404-101" are distinctly different.

  - `developerMessage` (string, required)
    A summary of the error.

  - `details` (array)

  - `details.key` (string, required)

  - `details.value` (string)

  - `userMessage` (string)
    UI friendly messages are only supported by some APIs.
* The client must explicitly request UI friendly messages by passing the *X-egain-error-message=yes* header.

## Response 404:

  - `404` (unknown)
    Not Found

## Response 404 fields (application/json):

  - `code` (string, required)
    A string that follows the pattern *{integer}-{integer}*.
The first *{integer}* is the http status code.  This code as a whole is unique.
* For example, error codes "400-101" and "404-101" are distinctly different.

  - `developerMessage` (string, required)
    A summary of the error.

  - `details` (array)

  - `details.key` (string, required)

  - `details.value` (string)

  - `userMessage` (string)
    UI friendly messages are only supported by some APIs.
* The client must explicitly request UI friendly messages by passing the *X-egain-error-message=yes* header.

## Response 406:

  - `406` (unknown)
    Not acceptable

## Response 406 fields (application/json):

  - `code` (string, required)
    A string that follows the pattern *{integer}-{integer}*.
The first *{integer}* is the http status code.  This code as a whole is unique.
* For example, error codes "400-101" and "404-101" are distinctly different.

  - `developerMessage` (string, required)
    A summary of the error.

  - `details` (array)

  - `details.key` (string, required)

  - `details.value` (string)

  - `userMessage` (string)
    UI friendly messages are only supported by some APIs.
* The client must explicitly request UI friendly messages by passing the *X-egain-error-message=yes* header.

## Response 500:

  - `500` (unknown)
    Internal server error

## Response 500 fields (application/json):

  - `code` (string, required)
    A string that follows the pattern *{integer}-{integer}*.
The first *{integer}* is the http status code.  This code as a whole is unique.
* For example, error codes "400-101" and "404-101" are distinctly different.

  - `developerMessage` (string, required)
    A summary of the error.

  - `details` (array)

  - `details.key` (string, required)

  - `details.value` (string)

  - `userMessage` (string)
    UI friendly messages are only supported by some APIs.
* The client must explicitly request UI friendly messages by passing the *X-egain-error-message=yes* header.

## Response 400 examples:

  - `Required Attribute missing` (unknown)
    Required query parameter is missing.

  - `Unallowed attribute value` (unknown)
    One of the attributes has a value which is not allowed.

## Response 401 examples:

  - `Invalid Authorization` (unknown)
    Invalid or expired authorization. Generate a new authorization header and try again.

## Response 403 examples:

  - `Required Scope Missing` (unknown)
    User doesn't have the required scope to call this API. Refer to the API documentation regarding user scope assignment for more information.

## Response 404 examples:

  - `Resource Not Found` (unknown)
    Resource not found.

## Response 406 examples:

  - `Not Acceptable` (unknown)

## Response 500 examples:

  - `Internal Server Error` (unknown)

