# ExpertReferences

## GET /memori/v2/ExpertReferences/{strSessionID}

> Lists all Expert Reference objects.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/ExpertReferences/{strSessionID}":{"get":{"tags":["ExpertReferences"],"summary":"Lists all Expert Reference objects.","operationId":"ExpertReferences-ListExpertReferences","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/ListExpertReferencesResponse"}}}}}}}},"components":{"schemas":{"ListExpertReferencesResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Expert Reference objects.","format":"int32"},"experts":{"type":"array","items":{"$ref":"#/components/schemas/ExpertReferenceSpecs"},"description":"List of Expert Reference 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 Expert References request."},"ExpertReferenceSpecs":{"type":"object","properties":{"expertID":{"type":"string","description":"Expert Reference object ID.\r\nReturned during Get operations.\r\nIgnored in other cases.","nullable":true},"name":{"type":"string","description":"Name of the expert.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"description":{"type":"string","description":"Description of the expert, i.e. a list of the expert's skills and knowledge.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"default":{"type":"boolean","description":"If ```True```, this expert is used when no other expert\r\nis competent for the current question.\r\nReturned during Get operations.\r\nOptional during Add operations.\r\nOptional during Update operations.","nullable":true},"expertMemoriID":{"type":"string","description":"ID of the expert Memori.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"expertPassword":{"type":"string","description":"Password of the expert Memori. Required if the chained Memori is private or secret.\r\nOptional during Add operations and Update operations.\r\nIgnore in other cases.","nullable":true},"expertBaseURL":{"type":"string","description":"Base URL of a chained Memori, typically ```https://engine.memori.ai/```.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","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}}}}
````

## GET /memori/v2/ExpertReferences/{strSessionID}/{from}/{howMany}

> Lists Expert Reference objects with pagination.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/ExpertReferences/{strSessionID}/{from}/{howMany}":{"get":{"tags":["ExpertReferences"],"summary":"Lists Expert Reference objects with pagination.","operationId":"ExpertReferences-ListExpertReferencesPaginated","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 Expert Reference object to list","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"howMany","in":"path","description":"The number of the Expert Reference objects to list","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListExpertReferencesResponse"}}}}}}}},"components":{"schemas":{"ListExpertReferencesResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Expert Reference objects.","format":"int32"},"experts":{"type":"array","items":{"$ref":"#/components/schemas/ExpertReferenceSpecs"},"description":"List of Expert Reference 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 Expert References request."},"ExpertReferenceSpecs":{"type":"object","properties":{"expertID":{"type":"string","description":"Expert Reference object ID.\r\nReturned during Get operations.\r\nIgnored in other cases.","nullable":true},"name":{"type":"string","description":"Name of the expert.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"description":{"type":"string","description":"Description of the expert, i.e. a list of the expert's skills and knowledge.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"default":{"type":"boolean","description":"If ```True```, this expert is used when no other expert\r\nis competent for the current question.\r\nReturned during Get operations.\r\nOptional during Add operations.\r\nOptional during Update operations.","nullable":true},"expertMemoriID":{"type":"string","description":"ID of the expert Memori.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"expertPassword":{"type":"string","description":"Password of the expert Memori. Required if the chained Memori is private or secret.\r\nOptional during Add operations and Update operations.\r\nIgnore in other cases.","nullable":true},"expertBaseURL":{"type":"string","description":"Base URL of a chained Memori, typically ```https://engine.memori.ai/```.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","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}}}}
````

## GET /memori/v2/ExpertReference/{strSessionID}/{strExpertReferenceID}

> Gets the details of an Expert Reference object.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/ExpertReference/{strSessionID}/{strExpertReferenceID}":{"get":{"tags":["ExpertReferences"],"summary":"Gets the details of an Expert Reference object.","operationId":"ExpertReferences-GetExpertReference","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strExpertReferenceID","in":"path","description":"The Expert Reference object ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetExpertReferenceResponse"}}}}}}}},"components":{"schemas":{"GetExpertReferenceResponse":{"type":"object","properties":{"expert":{"$ref":"#/components/schemas/ExpertReferenceSpecs"},"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 Expert Reference request."},"ExpertReferenceSpecs":{"type":"object","properties":{"expertID":{"type":"string","description":"Expert Reference object ID.\r\nReturned during Get operations.\r\nIgnored in other cases.","nullable":true},"name":{"type":"string","description":"Name of the expert.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"description":{"type":"string","description":"Description of the expert, i.e. a list of the expert's skills and knowledge.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"default":{"type":"boolean","description":"If ```True```, this expert is used when no other expert\r\nis competent for the current question.\r\nReturned during Get operations.\r\nOptional during Add operations.\r\nOptional during Update operations.","nullable":true},"expertMemoriID":{"type":"string","description":"ID of the expert Memori.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"expertPassword":{"type":"string","description":"Password of the expert Memori. Required if the chained Memori is private or secret.\r\nOptional during Add operations and Update operations.\r\nIgnore in other cases.","nullable":true},"expertBaseURL":{"type":"string","description":"Base URL of a chained Memori, typically ```https://engine.memori.ai/```.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","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}}}}
````

## Removes an existing Expert Reference object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/ExpertReference/{strSessionID}/{strExpertReferenceID}":{"delete":{"tags":["ExpertReferences"],"summary":"Removes an existing Expert Reference object.","description":"This API requires a Giver session.","operationId":"ExpertReferences-RemoveExpertReference","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strExpertReferenceID","in":"path","description":"The Expert Reference 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 Expert Reference object.

> This API requires a Giver session.> \
> Only non-null (present) fields are considered for update.> \
> Null or absent fields are left unaltered.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/ExpertReference/{strSessionID}/{strExpertReferenceID}":{"patch":{"tags":["ExpertReferences"],"summary":"Updates an existing Expert Reference object.","description":"This API requires a Giver session.\r\nOnly non-null (present) fields are considered for update.\r\nNull or absent fields are left unaltered.","operationId":"ExpertReferences-UpdateExpertReference","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strExpertReferenceID","in":"path","description":"The Expert Reference object ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The Expert Reference object specifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateExpertReferenceSpecs"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"UpdateExpertReferenceSpecs":{"type":"object","properties":{"expertID":{"type":"string","description":"Expert Reference object ID.\r\nReturned during Get operations.\r\nIgnored in other cases.","nullable":true},"name":{"type":"string","description":"Name of the expert.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"description":{"type":"string","description":"Description of the expert, i.e. a list of the expert's skills and knowledge.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"default":{"type":"boolean","description":"If ```True```, this expert is used when no other expert\r\nis competent for the current question.\r\nReturned during Get operations.\r\nOptional during Add operations.\r\nOptional during Update operations.","nullable":true},"expertMemoriID":{"type":"string","description":"ID of the expert Memori.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"expertPassword":{"type":"string","description":"Password of the expert Memori. Required if the chained Memori is private or secret.\r\nOptional during Add operations and Update operations.\r\nIgnore in other cases.","nullable":true},"expertBaseURL":{"type":"string","description":"Base URL of a chained Memori, typically ```https://engine.memori.ai/```.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","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 for an Update Expert Reference request."},"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 Expert Reference object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/ExpertReference/{strSessionID}":{"post":{"tags":["ExpertReferences"],"summary":"Adds a new Expert Reference object.","description":"This API requires a Giver session.","operationId":"ExpertReferences-AddExpertReference","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The Expert Reference object specifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddExpertReferenceSpecs"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddExpertReferenceResponse"}}}}}}}},"components":{"schemas":{"AddExpertReferenceSpecs":{"type":"object","properties":{"expertID":{"type":"string","description":"Expert Reference object ID.\r\nReturned during Get operations.\r\nIgnored in other cases.","nullable":true},"name":{"type":"string","description":"Name of the expert.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"description":{"type":"string","description":"Description of the expert, i.e. a list of the expert's skills and knowledge.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"default":{"type":"boolean","description":"If ```True```, this expert is used when no other expert\r\nis competent for the current question.\r\nReturned during Get operations.\r\nOptional during Add operations.\r\nOptional during Update operations.","nullable":true},"expertMemoriID":{"type":"string","description":"ID of the expert Memori.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","nullable":true},"expertPassword":{"type":"string","description":"Password of the expert Memori. Required if the chained Memori is private or secret.\r\nOptional during Add operations and Update operations.\r\nIgnore in other cases.","nullable":true},"expertBaseURL":{"type":"string","description":"Base URL of a chained Memori, typically ```https://engine.memori.ai/```.\r\nReturned during Get operations.\r\nRequired during Add operations.\r\nOptional during Update operations.","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 for an Add Expert Reference request."},"AddExpertReferenceResponse":{"type":"object","properties":{"expertID":{"type":"string","description":"Expert Reference 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 Expert Reference request."}}}}
````


---

# 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/expertreferences.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.
