# Get Suggestion by ID ## Overview The Get Suggestion by ID API allows authenticated users to retrieve their own suggestions. ## Prerequisites * Enable the setting "My Suggestions" for the portal specified in the URL. * If the user is a customer, enable the setting "Allow Customer Access" for the portal. * The "Suggestion for the ID" specified in the URL must belong to the user. Endpoint: GET /portals/{portalID}/suggestions/{suggestionID} Security: oAuthUser, oAuthOnBehalfOfUser, oAuthCustomer, oAuthOnBehalfOfCustomer ## Header parameters: - `x-egain-activity-id` (string) A unique numeric interaction identifier from eGain. Example: "59237" - `x-ext-integration-id` (string) The unique numeric identifier for a tenant, used in self-service functionality as well as third-party integrations.Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.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.Note: The x-ext-integration-id and x-ext-interaction-id headers must always be provided together and cannot be supplied independently.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). Enum: "en-US", "es-ES", "fr-FR", "it-IT", "de-DE", "nl-NL", "pt-BR", "pt-PT", "da-DK", "ru-RU", "fr-CA", "zh-CN", "ja-JP", "ko-KR", "sv-SE" ## Path parameters: - `portalID` (string, required) The ID of the portal being accessed.A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits. Example: "PROD-1000" - `suggestionID` (string, required) The ID of the Suggestion.A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits. Example: "PROD-11829" ## Query parameters: - `suggestionAdditionalAttributes` (array) The attributes of a Suggestion to be returned in addition to the default list of attributes, listed below. Multiple additional attributes can be specified using a comma-separated list. Passing 'all' returns all attributes. #### Default Attributes These Suggestion attributes are always returned: | Name | Description | ---- | ----------- | id | The ID of the Suggestion. | name | The name of the Suggestion. | status | The status of the Suggestion. | description | The description of the Suggestion. | language | Details about the language of the Suggestion. | modifiedBy.id | The ID of the user that last modified the Suggestion. | modifiedBy.firstName | The Suggestion's last modified user's first name. | modifiedBy.middleName | The Suggestion's last modified user's middle name. | modifiedBy.lastName | The Suggestion's last modified user's last name. | modifiedDate | The Suggestion's last modified date and information about the user that last modified the Suggestion. | link | The link object, used to retrieve the details of the Suggestion. | hasComments | The Suggestion has one or more comments | hasAttachments | The Suggestion has one or more attachments | hasRelatedArticles | The Suggestion has related articles Enum: "content", "modifiedBy.userName", "all" - `$customAdditionalAttributes` (string) One or more comma-separated names for custom attributes defined by the user to be returned. ## Response 200 fields (application/json): - `id` (string, required) The ID of the Suggestion. A Suggestion ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits. Example: "PROD-0623" - `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. - `name` (string, required) The name of the Suggestion. - `description` (string) The description of the Suggestion. - `content` (string) The content of the Suggestion. - `hasRelatedArticles` (boolean) If true, the Suggestion has one or more Related Articles. - `status` (object) The status of the Suggestion. 1 : suggested. 2 : pending 3 : declined 4 : approved - `status.value` (string) A string that indicates the value. - `status.displayValue` (string) Localized string of the value element. - `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 last modified date and last modifying user of the Suggestion. - `hasAttachments` (boolean) Indicates whether the Suggestion has any Attachments. - `hasComments` (boolean) Indicates whether the Suggestion has any comments. - `language` (object) The knowledge base language in which the Suggestion was created. - `language.code` (string, required) The language that describes the details of the resource. Resources available in different languages may differ from each other. Enum: "en-US", "en-GB", "fr-FR", "es-ES", "it-IT", "de-DE", "nl-NL", "pt-BR", "pt-PT", "da-DK", "sv-SE", "ru-RU", "zh-CN", "ja-JP", "ko-KR", "de-AT", "th-TH", "vi-VN", "id-ID", "ms-MY", "fil-PH", "fr-CA", "hi-IN", "uk-UA", "bg-BG", "sk-SK", "sl-SI" - `language.label` (string) The name of the language. Enum: "English", "French", "Spanish", "Italian", "German", "Dutch", "Portuguese", "Danish", "Swedish", "Russian", "Chinese", "Japanese", "Korean", "Thai", "Vietnamese", "Indonesian", "Malay", "Filipino", "Hindi", "Ukrainian", "Bulgarian", "Slovak", "Slovene", "Serbian" - `customAttributes` (array) Custom Attributes of the Suggestion. - `customAttributes.name` (string) The custom attribute's name. - `customAttributes.value` (array) The custom attribute's values. - `customAttributes.type` (string) The custom attribute's type. Enum: "STRING", "INTEGER", "BOOLEAN", "DATETIME" ## 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 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 204 fields