# Knowledge Transactions

{% hint style="warning" %}
**Limited Support/End of Life Capabilities**

The Classic API has been replaced by the Alemba RestFul API.  While we will continue to support the Classic API for clients that are still using it, no further development will be done.

If you need to request a hotfix or support for these features, please contact [<mark style="color:blue;">**Alemba Support**</mark>](https://alemba.help/production/Portal.aspx)
{% endhint %}

Messaging transactions are also provided to send knowledge articles to Users, analysts and groups. See MessageSendMessage Transaction for more information.

### KnowledgeCreate Transaction

The KnowledgeCreate transaction can be used to create a knowledge entry. The type of entry to be created can be passed as an input parameter.

#### Input Parameters: KnowledgeCreateRequest

<table data-header-hidden><thead><tr><th></th><th width="117"></th><th></th><th width="114"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Ignored</td><td>-</td><td>Ignored on Create</td></tr><tr><td>lEntityType</td><td>Lookup Field</td><td>No</td><td>500 (Abstract)</td><td>Knowledge Entry Type</td></tr><tr><td>sAbstract</td><td>String</td><td>No</td><td>“”</td><td>Knowledge Entry Abstract field.</td></tr><tr><td>sTitle</td><td>String</td><td>Yes</td><td>“”</td><td>Knowledge Entry title</td></tr><tr><td>sAdditionalInfo</td><td>String</td><td>No</td><td>“”</td><td>Knowledge Entry Additional Information field</td></tr><tr><td>sFreeText</td><td>String</td><td>No</td><td>“”</td><td>HTML Knowledge Body</td></tr><tr><td>sSolution</td><td>String</td><td>No</td><td>“”</td><td>Knowledge Entry Solution field</td></tr><tr><td>nCreditedItemVersion</td><td>Integer</td><td>No</td><td>0</td><td>Last major credited version of the knowledge bank entry</td></tr><tr><td>lStatus</td><td>Lookup Field</td><td>No</td><td>0</td><td>Knowledge Entry status</td></tr><tr><td>sExternalRef</td><td>String</td><td>No</td><td>“”</td><td>Knowledge Entry External Ref field</td></tr><tr><td>lCall</td><td>Lookup Field</td><td>No</td><td>0</td><td>Call Number linked to this Knowledge Entry</td></tr><tr><td>lProfileRef</td><td>Lookup Field</td><td>No</td><td>0</td><td>Knowledge Profile</td></tr><tr><td>bIndexSubDirs</td><td>Boolean</td><td>No</td><td>False</td><td><p>Flag whether to index subdirectories. Values:</p><ul><li>True = index article and subdirectories</li><li>False = only index article</li></ul></td></tr><tr><td>nFrequency</td><td>Integer</td><td>No</td><td>0</td><td>Frequency</td></tr><tr><td>nTraversalDepth</td><td>Integer</td><td>No</td><td>0</td><td>Traversal Depth</td></tr><tr><td>lFormat</td><td>Lookup Field</td><td>No</td><td>Plain Text</td><td><p>Knowledge Format. Values:</p><p>1 = Plain Text</p><p>2 = HTML</p><p>3 = Related HTML</p></td></tr><tr><td>lService</td><td>Lookup Field</td><td>No</td><td>0</td><td>Service linked to this Knowledge Entry</td></tr><tr><td>yLite</td><td>Yes/No</td><td>No</td><td>N</td><td><p>Flag whether this Knowledge Entry will be available on the Self Service Portal. Values:</p><ul><li>Y = Knowledge entry will be available on the Self Service Portal</li><li>N = Knowledge entry will not be available on the Self Service Portal</li></ul></td></tr><tr><td>yReviewRequired</td><td>Yes/No</td><td>No</td><td>N</td><td><p>Flag whether this Knowledge Entry needs to be reviewed. Values:</p><ul><li>Y = Knowledge Entry flagged as requiring review</li><li>N = no review required</li></ul></td></tr><tr><td>nCompositeTypeRef</td><td>Integer</td><td>No</td><td>0</td><td>Knowledge Type. The reference number provided can correspond to lower Knowledge Type tiers.</td></tr><tr><td>dExpires</td><td>Date/Time</td><td>No</td><td>(null)</td><td>Knowledge entry expiry date</td></tr><tr><td>dNextReview</td><td>Date/Time</td><td>No</td><td>(null)</td><td>Knowledge entry next review date</td></tr><tr><td>sComments</td><td>String</td><td>No</td><td>“”</td><td>Comments</td></tr><tr><td>lPartition</td><td>Lookup Field</td><td>No</td><td>Analyst’s default partition</td><td>Partition in which to create the Knowledge Entry</td></tr><tr><td>lSecurityProfile</td><td>Lookup Field</td><td>No</td><td>0</td><td>Security profile to apply to the Knowledge Entry</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values:KnowledgeResponse <a href="#knowledgeresponse" id="knowledgeresponse"></a>

| Argument   | Type      | Description           |
| ---------- | --------- | --------------------- |
| nEntityRef | Integer   | New Knowledge Ref     |
| sMessage   | String    | Error/Warning Message |
| Ret        | APIReturn | Error/Warning Number  |

### KnowledgeUpdate Transaction

The KnowledgeUpdate transaction can be used to modify an existing knowledge entry.

#### Input Parameters: KnowledgeUpdateRequest

<table data-header-hidden><thead><tr><th></th><th width="100"></th><th></th><th width="93"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Reference number of the Knowledge entry to update</td></tr><tr><td>lEntityType</td><td>Lookup Field</td><td>No</td><td>(As is)</td><td>Knowledge Entry Type and Major Type</td></tr><tr><td>sAbstract</td><td>String</td><td>No</td><td>(As is)</td><td>Knowledge Entry Abstract field.</td></tr><tr><td>sTitle</td><td>String</td><td>No</td><td>(As is)</td><td>Knowledge Entry title</td></tr><tr><td>sAdditionalInfo</td><td>String</td><td>No</td><td>(As is)</td><td>Knowledge Entry Additional Information field</td></tr><tr><td>sFreeText</td><td>String</td><td>No</td><td>(As is)</td><td>HTML Knowledge Body</td></tr><tr><td>sSolution</td><td>String</td><td>No</td><td>(As is)</td><td>Knowledge Entry Solution field</td></tr><tr><td>nCreditedItemVersion</td><td>Integer</td><td>No</td><td>(As is)</td><td>Last major credited version of the knowledge bank entry</td></tr><tr><td>lStatus</td><td>Lookup Field</td><td>No</td><td>(As is)</td><td>Knowledge Entry status</td></tr><tr><td>sExternalRef</td><td>String</td><td>No</td><td>(As is)</td><td>Knowledge Entry External Ref field</td></tr><tr><td>lCall</td><td>Lookup Field</td><td>No</td><td>(As is)</td><td>Call Number linked to this Knowledge Entry</td></tr><tr><td>lProfileRef</td><td>Lookup Field</td><td>No</td><td>(As is)</td><td>Knowledge Profile</td></tr><tr><td>bIndexSubDirs</td><td>Boolean</td><td>No</td><td>(As is)</td><td><p>Flag whether to index subdirectories. Values:</p><ul><li>True = index article and subdirectories</li><li>False = only index article</li></ul></td></tr><tr><td>nFrequency</td><td>Integer</td><td>No</td><td>(As is)</td><td>Frequency</td></tr><tr><td>nTraversalDepth</td><td>Integer</td><td>No</td><td>(As is)</td><td>Traversal Depth</td></tr><tr><td>lFormat</td><td>Lookup Field</td><td>No</td><td>(As is)</td><td><p>Knowledge Format. Values:</p><p>1 = Plain Text</p><p>2 = HTML</p><p>3 = Related HTML</p></td></tr><tr><td>lService</td><td>Lookup Field</td><td>No</td><td>(As is)</td><td>Service linked to this Knowledge Entry</td></tr><tr><td>yLite</td><td>Yes/No</td><td>No</td><td>(As is)</td><td><p>Flag whether this Knowledge Entry will be available on the Self Service Portal. Values:</p><ul><li>Y = Knowledge entry will be available on the Self Service Portal</li><li>N = Knowledge entry will not be available on the Self Service Portal</li></ul></td></tr><tr><td>yReviewRequired</td><td>Yes/No</td><td>No</td><td>(As is)</td><td><p>Flag whether this Knowledge Entry needs to be reviewed. Values:</p><ul><li>Y = Knowledge Entry flagged as requiring review</li><li>N = no review required</li></ul></td></tr><tr><td>nCompositeTypeRef</td><td>Integer</td><td>No</td><td>(As is)</td><td>Knowledge Type. The reference number provided can correspond to lower Knowledge Type tiers.</td></tr><tr><td>dExpires</td><td>Date/Time</td><td>No</td><td>(As is)</td><td>Knowledge entry expiry date</td></tr><tr><td>dNextReview</td><td>Date/Time</td><td>No</td><td>(As is)</td><td>Knowledge entry next review date</td></tr><tr><td>sComments</td><td>String</td><td>No</td><td>(As is)</td><td>Comments</td></tr><tr><td>lPartition</td><td>Lookup Field</td><td>No</td><td>(As is)</td><td>Partition in which to create the Knowledge Entry</td></tr><tr><td>lSecurityProfile</td><td>Lookup Field</td><td>No</td><td>0</td><td>Security profile to apply to the Knowledge Entry</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values: KnowledgeResponse

See KnowledgeResponse for more information.

### KnowledgeRetrieve Transaction

The KnowledgeRetrieve transaction can be used to locate and retrieve an existing knowledge entry.

#### Input Parameters: KnowledgeRetrieveRequest

<table data-header-hidden><thead><tr><th></th><th width="163"></th><th></th><th width="105"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Reference number of the Knowledge Entry to retrieve</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values: KnowledgeEntityResponse

| Argument  | Type      | Description                            |
| --------- | --------- | -------------------------------------- |
| Ret       | APIReturn | Error/Warning Number                   |
| sMessage  | String    | Error/Warning Message                  |
| ResultSet | DataSet   | ResultSet containing attribute details |

### KnowledgeDelete Transaction

The KnowledgeDelete transaction can be used to delete an existing knowledge entry. This transaction cannot be used to update knowledge entries.

#### Input Parameters: KnowledgeDeleteRequest

<table data-header-hidden><thead><tr><th></th><th width="124"></th><th></th><th width="94"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Reference number of the Knowledge Entry to delete</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values: KnowledgeResponse

See KnowledgeResponse for more information.

### KnowledgeFeedback Transaction

The KnowledgeFeedback transaction can be used to provide feedback on a knowledge entry.

#### Input Parameters: KnowledgeFeedbackRequest

<table data-header-hidden><thead><tr><th></th><th width="117"></th><th></th><th width="93"></th><th></th></tr></thead><tbody><tr><td>Argument</td><td>Type</td><td>Mandatory</td><td>Default</td><td>Description</td></tr><tr><td>sID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s current Session ID</td></tr><tr><td>sLoginUserID</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Login ID</td></tr><tr><td>sLoginPassword</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Analyst’s Password</td></tr><tr><td>sDatabase</td><td>String</td><td>No. See Transaction Login.</td><td>“”</td><td>Name of the ASM System for logging in.</td></tr><tr><td>lEntityRef</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Reference number of the Knowledge Entry in which to provide feedback</td></tr><tr><td>sComments</td><td>String</td><td>No</td><td>“”</td><td>Feedback comments</td></tr><tr><td>lKnowledgeRating</td><td>Lookup Field</td><td>Yes</td><td>-</td><td>Feedback comments</td></tr><tr><td>aCustomParameters</td><td>Array</td><td>No</td><td>“”</td><td>See Defining Custom Parameters.</td></tr></tbody></table>

#### Return Values: KnowledgeResponse

See KnowledgeResponse for more information.
