> For the complete documentation index, see [llms.txt](https://docs.aisuru.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aisuru.com/api/engine/custom-dictionary.md).

# Custom Dictionary

## Lists all Custom Word objects.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/CustomWords/{strSessionID}":{"get":{"tags":["CustomDictionary"],"summary":"Lists all Custom Word objects.","description":"This API requires a Giver session.","operationId":"CustomDictionary-ListCustomWords","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCustomWordsResponse"}}}}}}}},"components":{"schemas":{"ListCustomWordsResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Custom Word objects.","format":"int32"},"customWords":{"type":"array","items":{"$ref":"#/components/schemas/CustomWordSpecs"},"description":"List of Custom Word objects.\r\nMay be empty.","nullable":true},"requestID":{"type":"integer","description":"Progressive number of the request (since the Server started).\r\nUse this number, together with the RequestDateTime property,\r\nto report an anomalous response.","format":"int64"},"requestDateTime":{"type":"string","description":"Timestamp of the request.\r\nUse this timestamp, together with the RequestID property,\r\nto report an anomalous response.","format":"date-time"},"resultCode":{"type":"integer","description":"Result code. A code of ```0``` means no errors.\r\nWhen the request fails, its value is equivalent to the HTTP\r\nstatus code.","format":"int32"},"resultMessage":{"type":"string","description":"Result message. A message of ```Ok``` means no errors.","nullable":true}},"additionalProperties":false,"description":"Response of a List Custom Words request."},"CustomWordSpecs":{"type":"object","properties":{"customWordID":{"type":"string","description":"Custom Word object ID.","nullable":true},"word":{"type":"string","description":"Custom Word.","nullable":true},"definition":{"type":"string","description":"Definition of the Custom Word, in terms of sums and subtractions of existing words or custom words. <br> The syntax for a Custom Word definition is as follows: <code>word1 [+-] word2 [+-] word3...</code> If the operator is omitted it is assumed to be the last specified from the left, and if no operator has been specified it is assumed to be the sum. E.g.:<ul> <li><code>alpha beta gamma</code> is equivalent to <code>alpha + beta + gamma</code></li> <li><code>alpha beta - gamma delta</code> is equivalent to <code>alpha + beta - gamma - delta</code></li> </ul>","nullable":true},"creationTimestamp":{"type":"string","description":"Timestamp of creation. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"creationSessionID":{"type":"string","description":"ID of the session that created this object.","nullable":true},"lastChangeTimestamp":{"type":"string","description":"Timestamp of latest change. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"lastChangeSessionID":{"type":"string","description":"ID of the latest session that changed this object.","nullable":true}},"additionalProperties":false,"description":"Specifications of a Custom Word object."}}}}
````

## Lists Custom Word objects with pagination.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/CustomWords/{strSessionID}/{from}/{howMany}":{"get":{"tags":["CustomDictionary"],"summary":"Lists Custom Word objects with pagination.","description":"This API requires a Giver session.","operationId":"CustomDictionary-ListCustomWordsPaginated","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"from","in":"path","description":"The 0-based index of the first Custom Word to list","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"howMany","in":"path","description":"The number of the Custom Word to list","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCustomWordsResponse"}}}}}}}},"components":{"schemas":{"ListCustomWordsResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Custom Word objects.","format":"int32"},"customWords":{"type":"array","items":{"$ref":"#/components/schemas/CustomWordSpecs"},"description":"List of Custom Word objects.\r\nMay be empty.","nullable":true},"requestID":{"type":"integer","description":"Progressive number of the request (since the Server started).\r\nUse this number, together with the RequestDateTime property,\r\nto report an anomalous response.","format":"int64"},"requestDateTime":{"type":"string","description":"Timestamp of the request.\r\nUse this timestamp, together with the RequestID property,\r\nto report an anomalous response.","format":"date-time"},"resultCode":{"type":"integer","description":"Result code. A code of ```0``` means no errors.\r\nWhen the request fails, its value is equivalent to the HTTP\r\nstatus code.","format":"int32"},"resultMessage":{"type":"string","description":"Result message. A message of ```Ok``` means no errors.","nullable":true}},"additionalProperties":false,"description":"Response of a List Custom Words request."},"CustomWordSpecs":{"type":"object","properties":{"customWordID":{"type":"string","description":"Custom Word object ID.","nullable":true},"word":{"type":"string","description":"Custom Word.","nullable":true},"definition":{"type":"string","description":"Definition of the Custom Word, in terms of sums and subtractions of existing words or custom words. <br> The syntax for a Custom Word definition is as follows: <code>word1 [+-] word2 [+-] word3...</code> If the operator is omitted it is assumed to be the last specified from the left, and if no operator has been specified it is assumed to be the sum. E.g.:<ul> <li><code>alpha beta gamma</code> is equivalent to <code>alpha + beta + gamma</code></li> <li><code>alpha beta - gamma delta</code> is equivalent to <code>alpha + beta - gamma - delta</code></li> </ul>","nullable":true},"creationTimestamp":{"type":"string","description":"Timestamp of creation. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"creationSessionID":{"type":"string","description":"ID of the session that created this object.","nullable":true},"lastChangeTimestamp":{"type":"string","description":"Timestamp of latest change. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"lastChangeSessionID":{"type":"string","description":"ID of the latest session that changed this object.","nullable":true}},"additionalProperties":false,"description":"Specifications of a Custom Word object."}}}}
````

## Gets the details of a Custom Word object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/CustomWord/{strSessionID}/{strCustomWordID}":{"get":{"tags":["CustomDictionary"],"summary":"Gets the details of a Custom Word object.","description":"This API requires a Giver session.","operationId":"CustomDictionary-GetCustomWord","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strCustomWordID","in":"path","description":"The Custom Word object ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetCustomWordResponse"}}}}}}}},"components":{"schemas":{"GetCustomWordResponse":{"type":"object","properties":{"customWord":{"$ref":"#/components/schemas/CustomWordSpecs"},"requestID":{"type":"integer","description":"Progressive number of the request (since the Server started).\r\nUse this number, together with the RequestDateTime property,\r\nto report an anomalous response.","format":"int64"},"requestDateTime":{"type":"string","description":"Timestamp of the request.\r\nUse this timestamp, together with the RequestID property,\r\nto report an anomalous response.","format":"date-time"},"resultCode":{"type":"integer","description":"Result code. A code of ```0``` means no errors.\r\nWhen the request fails, its value is equivalent to the HTTP\r\nstatus code.","format":"int32"},"resultMessage":{"type":"string","description":"Result message. A message of ```Ok``` means no errors.","nullable":true}},"additionalProperties":false,"description":"Response of a Get Custom Word request."},"CustomWordSpecs":{"type":"object","properties":{"customWordID":{"type":"string","description":"Custom Word object ID.","nullable":true},"word":{"type":"string","description":"Custom Word.","nullable":true},"definition":{"type":"string","description":"Definition of the Custom Word, in terms of sums and subtractions of existing words or custom words. <br> The syntax for a Custom Word definition is as follows: <code>word1 [+-] word2 [+-] word3...</code> If the operator is omitted it is assumed to be the last specified from the left, and if no operator has been specified it is assumed to be the sum. E.g.:<ul> <li><code>alpha beta gamma</code> is equivalent to <code>alpha + beta + gamma</code></li> <li><code>alpha beta - gamma delta</code> is equivalent to <code>alpha + beta - gamma - delta</code></li> </ul>","nullable":true},"creationTimestamp":{"type":"string","description":"Timestamp of creation. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"creationSessionID":{"type":"string","description":"ID of the session that created this object.","nullable":true},"lastChangeTimestamp":{"type":"string","description":"Timestamp of latest change. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"lastChangeSessionID":{"type":"string","description":"ID of the latest session that changed this object.","nullable":true}},"additionalProperties":false,"description":"Specifications of a Custom Word object."}}}}
````

## Removes an existing Custom Word object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/CustomWord/{strSessionID}/{strCustomWordID}":{"delete":{"tags":["CustomDictionary"],"summary":"Removes an existing Custom Word object.","description":"This API requires a Giver session.","operationId":"CustomDictionary-RemoveCustomWord","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strCustomWordID","in":"path","description":"The Custom Word object ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"Response":{"type":"object","properties":{"requestID":{"type":"integer","description":"Progressive number of the request (since the Server started).\r\nUse this number, together with the RequestDateTime property,\r\nto report an anomalous response.","format":"int64"},"requestDateTime":{"type":"string","description":"Timestamp of the request.\r\nUse this timestamp, together with the RequestID property,\r\nto report an anomalous response.","format":"date-time"},"resultCode":{"type":"integer","description":"Result code. A code of ```0``` means no errors.\r\nWhen the request fails, its value is equivalent to the HTTP\r\nstatus code.","format":"int32"},"resultMessage":{"type":"string","description":"Result message. A message of ```Ok``` means no errors.","nullable":true}},"additionalProperties":false,"description":"Base response."}}}}
````

## Updates an existing Custom Word object.

> This API requires a Giver session.> \
> Only the Definition field is considered for update.> \
> To change the Word field a new Custom Word must be added and the> \
> existing must be removed.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/CustomWord/{strSessionID}/{strCustomWordID}":{"patch":{"tags":["CustomDictionary"],"summary":"Updates an existing Custom Word object.","description":"This API requires a Giver session.\r\nOnly the Definition field is considered for update.\r\nTo change the Word field a new Custom Word must be added and the\r\nexisting must be removed.","operationId":"CustomDictionary-UpdateCustomWord","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strCustomWordID","in":"path","description":"The Custom Word object ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The Custom Word object specifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomWordSpecs"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"UpdateCustomWordSpecs":{"type":"object","properties":{"customWordID":{"type":"string","description":"Custom Word object ID.","nullable":true},"word":{"type":"string","description":"Custom Word.","nullable":true},"definition":{"type":"string","description":"Definition of the Custom Word, in terms of sums and subtractions of existing words or custom words. <br> The syntax for a Custom Word definition is as follows: <code>word1 [+-] word2 [+-] word3...</code> If the operator is omitted it is assumed to be the last specified from the left, and if no operator has been specified it is assumed to be the sum. E.g.:<ul> <li><code>alpha beta gamma</code> is equivalent to <code>alpha + beta + gamma</code></li> <li><code>alpha beta - gamma delta</code> is equivalent to <code>alpha + beta - gamma - delta</code></li> </ul>","nullable":true},"creationTimestamp":{"type":"string","description":"Timestamp of creation. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"creationSessionID":{"type":"string","description":"ID of the session that created this object.","nullable":true},"lastChangeTimestamp":{"type":"string","description":"Timestamp of latest change. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"lastChangeSessionID":{"type":"string","description":"ID of the latest session that changed this object.","nullable":true}},"additionalProperties":false},"Response":{"type":"object","properties":{"requestID":{"type":"integer","description":"Progressive number of the request (since the Server started).\r\nUse this number, together with the RequestDateTime property,\r\nto report an anomalous response.","format":"int64"},"requestDateTime":{"type":"string","description":"Timestamp of the request.\r\nUse this timestamp, together with the RequestID property,\r\nto report an anomalous response.","format":"date-time"},"resultCode":{"type":"integer","description":"Result code. A code of ```0``` means no errors.\r\nWhen the request fails, its value is equivalent to the HTTP\r\nstatus code.","format":"int32"},"resultMessage":{"type":"string","description":"Result message. A message of ```Ok``` means no errors.","nullable":true}},"additionalProperties":false,"description":"Base response."}}}}
````

## Adds a new Custom Word object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/CustomWord/{strSessionID}":{"post":{"tags":["CustomDictionary"],"summary":"Adds a new Custom Word object.","description":"This API requires a Giver session.","operationId":"CustomDictionary-AddCustomWord","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The Custom Word object specifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCustomWordSpecs"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddCustomWordResponse"}}}}}}}},"components":{"schemas":{"AddCustomWordSpecs":{"type":"object","properties":{"customWordID":{"type":"string","description":"Custom Word object ID.","nullable":true},"word":{"type":"string","description":"Custom Word.","nullable":true},"definition":{"type":"string","description":"Definition of the Custom Word, in terms of sums and subtractions of existing words or custom words. <br> The syntax for a Custom Word definition is as follows: <code>word1 [+-] word2 [+-] word3...</code> If the operator is omitted it is assumed to be the last specified from the left, and if no operator has been specified it is assumed to be the sum. E.g.:<ul> <li><code>alpha beta gamma</code> is equivalent to <code>alpha + beta + gamma</code></li> <li><code>alpha beta - gamma delta</code> is equivalent to <code>alpha + beta - gamma - delta</code></li> </ul>","nullable":true},"creationTimestamp":{"type":"string","description":"Timestamp of creation. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"creationSessionID":{"type":"string","description":"ID of the session that created this object.","nullable":true},"lastChangeTimestamp":{"type":"string","description":"Timestamp of latest change. Always present when reading/receiving\r\nan object, ignored when writing/sending an object.","format":"date-time","nullable":true},"lastChangeSessionID":{"type":"string","description":"ID of the latest session that changed this object.","nullable":true}},"additionalProperties":false},"AddCustomWordResponse":{"type":"object","properties":{"customWordID":{"type":"string","description":"Custom Word object ID.","nullable":true},"requestID":{"type":"integer","description":"Progressive number of the request (since the Server started).\r\nUse this number, together with the RequestDateTime property,\r\nto report an anomalous response.","format":"int64"},"requestDateTime":{"type":"string","description":"Timestamp of the request.\r\nUse this timestamp, together with the RequestID property,\r\nto report an anomalous response.","format":"date-time"},"resultCode":{"type":"integer","description":"Result code. A code of ```0``` means no errors.\r\nWhen the request fails, its value is equivalent to the HTTP\r\nstatus code.","format":"int32"},"resultMessage":{"type":"string","description":"Result message. A message of ```Ok``` means no errors.","nullable":true}},"additionalProperties":false,"description":"Response of an Add Custom Word request."}}}}
````
