# 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."}}}}
````


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aisuru.com/api/engine/topics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
