> 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-en/engine/topics.md).

# Topics

## Lists all Topic objects.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/Topics/{strSessionID}":{"get":{"tags":["Topics"],"summary":"Lists all Topic objects.","description":"This API requires a Giver session.","operationId":"Topics-ListTopics","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/ListTopicsResponse"}}}}}}}},"components":{"schemas":{"ListTopicsResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Topic objects.","format":"int32"},"topics":{"type":"array","items":{"$ref":"#/components/schemas/TopicSpecs"},"description":"List of Topic 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 Topics request."},"TopicSpecs":{"type":"object","properties":{"topicID":{"type":"string","description":"Topic object ID.","nullable":true},"name":{"type":"string","description":"Topic name.","nullable":true},"weight":{"type":"number","description":"Topic weight, i.e. the ratio between the number of times this\r\ntopic has been referenced versus to total number of references.","format":"double"},"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 Topic object."}}}}
````

## Lists Topic 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/Topics/{strSessionID}/{from}/{howMany}":{"get":{"tags":["Topics"],"summary":"Lists Topic objects with pagination.","description":"This API requires a Giver session.","operationId":"Topics-ListTopicsPaginated","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 Topic object to list","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"howMany","in":"path","description":"The number of the Topic objects to list","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopicsResponse"}}}}}}}},"components":{"schemas":{"ListTopicsResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Topic objects.","format":"int32"},"topics":{"type":"array","items":{"$ref":"#/components/schemas/TopicSpecs"},"description":"List of Topic 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 Topics request."},"TopicSpecs":{"type":"object","properties":{"topicID":{"type":"string","description":"Topic object ID.","nullable":true},"name":{"type":"string","description":"Topic name.","nullable":true},"weight":{"type":"number","description":"Topic weight, i.e. the ratio between the number of times this\r\ntopic has been referenced versus to total number of references.","format":"double"},"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 Topic object."}}}}
````

## Gets the details of a Topic object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/Topic/{strSessionID}/{strTopicID}":{"get":{"tags":["Topics"],"summary":"Gets the details of a Topic object.","description":"This API requires a Giver session.","operationId":"Topics-GetTopic","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strTopicID","in":"path","description":"The Topic object ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTopicResponse"}}}}}}}},"components":{"schemas":{"GetTopicResponse":{"type":"object","properties":{"topic":{"$ref":"#/components/schemas/TopicSpecs"},"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 Topic request."},"TopicSpecs":{"type":"object","properties":{"topicID":{"type":"string","description":"Topic object ID.","nullable":true},"name":{"type":"string","description":"Topic name.","nullable":true},"weight":{"type":"number","description":"Topic weight, i.e. the ratio between the number of times this\r\ntopic has been referenced versus to total number of references.","format":"double"},"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 Topic object."}}}}
````

## Lists all User objects referencing a specified Topic object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/TopicUsers/{strSessionID}/{strTopicID}":{"get":{"tags":["Topics"],"summary":"Lists all User objects referencing a specified Topic object.","description":"This API requires a Giver session.","operationId":"Topics-ListTopicUsers","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strTopicID","in":"path","description":"The Topic object ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}}}}}}},"components":{"schemas":{"ListUsersResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of User objects.","format":"int32"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserSpecs"},"description":"List of User 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 Users request."},"UserSpecs":{"type":"object","properties":{"userID":{"type":"string","description":"User object ID.","nullable":true},"externalUserID":{"type":"string","description":"External User ID obtained during session opening.","nullable":true},"userName":{"type":"string","description":"User name.","nullable":true},"tenantName":{"type":"string","description":"Name of the Tenant the User belongs to.","nullable":true},"email":{"type":"string","description":"User e-mail address.","nullable":true},"disableDeepThought":{"type":"boolean","description":"Deep Thought disable flag for the User."},"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 User object."}}}}
````

## Lists User objects referencing a specified Topic object, with pagination.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/TopicUsers/{strSessionID}/{strTopicID}/{from}/{howMany}":{"get":{"tags":["Topics"],"summary":"Lists User objects referencing a specified Topic object, with pagination.","description":"This API requires a Giver session.","operationId":"Topics-ListTopicUsersPaginated","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strTopicID","in":"path","description":"The Topic object ID","required":true,"schema":{"type":"string"}},{"name":"from","in":"path","description":"The 0-based index of the first User object to list","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"howMany","in":"path","description":"The number of User objects to list","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListUsersResponse"}}}}}}}},"components":{"schemas":{"ListUsersResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of User objects.","format":"int32"},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserSpecs"},"description":"List of User 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 Users request."},"UserSpecs":{"type":"object","properties":{"userID":{"type":"string","description":"User object ID.","nullable":true},"externalUserID":{"type":"string","description":"External User ID obtained during session opening.","nullable":true},"userName":{"type":"string","description":"User name.","nullable":true},"tenantName":{"type":"string","description":"Name of the Tenant the User belongs to.","nullable":true},"email":{"type":"string","description":"User e-mail address.","nullable":true},"disableDeepThought":{"type":"boolean","description":"Deep Thought disable flag for the User."},"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 User object."}}}}
````
