# Get Details of a Case

## Overview
The Get Details of a Case API retrieves details of a case in a release.
## Prerequisites
* A Guided Help search session for the provided Casebase Release must be in progress before this API is invoked.

Endpoint: GET /portals/{portalID}/gh/casebasereleases/{casebaseReleaseID}/cases/{caseID}
Security: oAuthUser, oAuthOnBehalfOfUser, oAuthCustomer, oAuthOnBehalfOfCustomer, oAuthAnonymousCustomer

## 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.

  - `casebaseReleaseID` (string, required)
    The numerical ID of the Casebase Release for which details is to be fetched.

  - `caseID` (string, required)
    The numerical ID of the Case for which details is to be fetched.

## 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.

  - `caseAdditionalAttributes` (array)
    Additional case attributes to be fetched.

## 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 fields (application/json):

  - `id` (string)
    The numerical ID of the case.
    Example: 100000000001035

  - `shortName` (string)
    short name of the case.

  - `title` (string)
    title of the case

  - `comments` (string)
    comments on the case

  - `profileId` (string)
    The ID of the guided help profile.
1 will always be the **system profile**.

  - `releaseId` (string)
    The numerical ID of the Casebase Release in which case in created
    Example: 100000000001035

  - `clusterId` (string)
    ID of the cluster in which case is created
    Example: 100000000001035

  - `createdDate` (string)
    The date on which the Case was created.

  - `createdBy` (object)

  - `createdBy.id` (string)
    The ID of the user that created this resource.

  - `createdBy.userName` (string)
    The resource creator's username.

  - `createdBy.firstName` (string)
    The resource creator's first name.

  - `createdBy.middleName` (string)
    The resource creator's middle name.

  - `createdBy.lastName` (string)
    The resource creator's last name.

  - `modifiedBy` (object)

  - `modifiedBy.id` (string)
    The ID of the user that modified this resource.

  - `modifiedBy.userName` (string)
    The resource modifier's username.

  - `modifiedBy.firstName` (string)
    The resource modifier's first name.

  - `modifiedBy.middleName` (string)
    The resource modifier's middle name.

  - `modifiedBy.lastName` (string)
    The resource modifier's last name.

  - `modifiedDate` (string)
    The date on which the Case was last modified.

  - `isVisible` (boolean)
    Flag indicating if the case is visible

  - `rejectCount` (integer)
    number of times case was rejected.

  - `acceptCount` (integer)
    number of times case was accepted.

  - `action` (array)
    actions in the case

  - `action.id` (string)
    ID of the action

  - `action.title` (string)
    Name of the action

  - `action.type` (string)
    type of the action

  - `action.shortName` (string)
    short name of the action

  - `action.rejectCount` (integer)
    number of times action was rejected.

  - `action.acceptCount` (integer)
    number of times action was accepted.

  - `action.metadata` (array)
    Metadata of action

  - `action.metadata.title` (string)
    content of the title

  - `action.metadata.additionalInformation` (string)
    content of the additional information

  - `action.metadata.action` (string)
    content of the action

  - `action.articleType` (object)
    The type of the Article and its attributes.

  - `action.articleType.articleCategoryId` (integer)
    Specifies the article category ID.

  - `action.articleType.typeName` (string)
    Indicates the article type name.

  - `action.articleType.useStructuredAuthoring` (boolean)
    Indicates whether structured authoring is enabled for this article type, requiring content to be created using predefined fields

  - `action.articleType.articleTypeId` (string)
    The ID of the Article Type.
    Example: 932100000002020

  - `metadata` (array)
    Metadata of the case

  - `thresholdValue` (integer)
    Threshold value of the case

  - `thresholdType` (string)
    Threshold type indicating if thresholdValue is default or custom.
    Enum: "Default", "Custom"

  - `thresholdValueFromCluster` (number)
    Threshold value of the cluster in which case is created

  - `caseType` (string)
    Type of the case. Control or Content type
    Enum: "Control", "Content"

  - `questionDetail` (array)
    Questions in the case

  - `questionDetail.question` (object, required)

  - `questionDetail.question.id` (string)
    The numerical ID of the question
    Example: 1000001035

  - `questionDetail.answer` (array, required)
    Answer of the question

  - `questionDetail.answer.id` (string)
    ID of the answer
    Example: 1000001035

  - `questionDetail.answer.text` (string)
    Text of the answer

  - `questionDetail.scoringValue` (number)
    Weightage of the question

  - `link` (object)
    Defines the relationship between this resource and another object.

  - `link.rel` (string)
    Defines the relationship between a linked resource and the current object.For example: *self*, *prev*, *next* or an object name such as *'user'*, *'folder'* etc.

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

## 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 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 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 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 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 412 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 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.

