# People

## Lists all Person objects.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/People/{strSessionID}":{"get":{"tags":["People"],"summary":"Lists all Person objects.","description":"This API requires a Giver session.","operationId":"People-ListPeople","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/ListPeopleResponse"}}}}}}}},"components":{"schemas":{"ListPeopleResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Person objects.","format":"int32"},"people":{"type":"array","items":{"$ref":"#/components/schemas/PersonSpecs"},"description":"List of Person 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 People request."},"PersonSpecs":{"type":"object","properties":{"personID":{"type":"string","description":"Person object ID.","nullable":true},"personType":{"type":"string","description":"Person type, e.g. ```Giver``` or ```Receiver```.\r\nRequired during Add operations.","nullable":true},"name":{"type":"string","description":"Person name.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the name has not been set yet.","nullable":true},"information":{"type":"string","description":"Person information.\r\nCurrently this is a free (unprocessed) text.","nullable":true},"pin":{"type":"string","description":"Person PIN. Must be a code between ```000000``` and ```999999```.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the PIN has not been set yet.\r\nRequired during Add operations.","nullable":true},"tag":{"type":"string","description":"Person tag.\r\nCan be any publicly visible string that the person recognizes as distinctive.\r\nTypically it is an emoji symbol, but could also be an RFID code or\r\nsomething else.","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 Person object."}}}}
````

## Lists Person 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/People/{strSessionID}/{from}/{howMany}":{"get":{"tags":["People"],"summary":"Lists Person objects with pagination.","description":"This API requires a Giver session.","operationId":"People-ListPeoplePaginated","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 Person object to list","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"howMany","in":"path","description":"The number of the Person objects to list","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListPeopleResponse"}}}}}}}},"components":{"schemas":{"ListPeopleResponse":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of Person objects.","format":"int32"},"people":{"type":"array","items":{"$ref":"#/components/schemas/PersonSpecs"},"description":"List of Person 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 People request."},"PersonSpecs":{"type":"object","properties":{"personID":{"type":"string","description":"Person object ID.","nullable":true},"personType":{"type":"string","description":"Person type, e.g. ```Giver``` or ```Receiver```.\r\nRequired during Add operations.","nullable":true},"name":{"type":"string","description":"Person name.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the name has not been set yet.","nullable":true},"information":{"type":"string","description":"Person information.\r\nCurrently this is a free (unprocessed) text.","nullable":true},"pin":{"type":"string","description":"Person PIN. Must be a code between ```000000``` and ```999999```.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the PIN has not been set yet.\r\nRequired during Add operations.","nullable":true},"tag":{"type":"string","description":"Person tag.\r\nCan be any publicly visible string that the person recognizes as distinctive.\r\nTypically it is an emoji symbol, but could also be an RFID code or\r\nsomething else.","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 Person object."}}}}
````

## Gets the details of a Person object.

> This API requires a Giver session.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/Person/{strSessionID}/{strPersonID}":{"get":{"tags":["People"],"summary":"Gets the details of a Person object.","description":"This API requires a Giver session.","operationId":"People-GetPerson","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strPersonID","in":"path","description":"The Person object ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPersonResponse"}}}}}}}},"components":{"schemas":{"GetPersonResponse":{"type":"object","properties":{"person":{"$ref":"#/components/schemas/PersonSpecs"},"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 Person request."},"PersonSpecs":{"type":"object","properties":{"personID":{"type":"string","description":"Person object ID.","nullable":true},"personType":{"type":"string","description":"Person type, e.g. ```Giver``` or ```Receiver```.\r\nRequired during Add operations.","nullable":true},"name":{"type":"string","description":"Person name.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the name has not been set yet.","nullable":true},"information":{"type":"string","description":"Person information.\r\nCurrently this is a free (unprocessed) text.","nullable":true},"pin":{"type":"string","description":"Person PIN. Must be a code between ```000000``` and ```999999```.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the PIN has not been set yet.\r\nRequired during Add operations.","nullable":true},"tag":{"type":"string","description":"Person tag.\r\nCan be any publicly visible string that the person recognizes as distinctive.\r\nTypically it is an emoji symbol, but could also be an RFID code or\r\nsomething else.","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 Person object."}}}}
````

## Removes an existing Person object.

> This API requires a Giver session.> \
> Only Receiver objects can be removed.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/Person/{strSessionID}/{strPersonID}":{"delete":{"tags":["People"],"summary":"Removes an existing Person object.","description":"This API requires a Giver session.\r\nOnly Receiver objects can be removed.","operationId":"People-RemovePerson","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strPersonID","in":"path","description":"The Person 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 Person 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/Person/{strSessionID}/{strPersonID}":{"patch":{"tags":["People"],"summary":"Updates an existing Person 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":"People-UpdatePerson","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}},{"name":"strPersonID","in":"path","description":"The Person object ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The Person object specifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonSpecs"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Response"}}}}}}}},"components":{"schemas":{"UpdatePersonSpecs":{"type":"object","properties":{"personID":{"type":"string","description":"Person object ID.","nullable":true},"personType":{"type":"string","description":"Person type, e.g. ```Giver``` or ```Receiver```.\r\nRequired during Add operations.","nullable":true},"name":{"type":"string","description":"Person name.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the name has not been set yet.","nullable":true},"information":{"type":"string","description":"Person information.\r\nCurrently this is a free (unprocessed) text.","nullable":true},"pin":{"type":"string","description":"Person PIN. Must be a code between ```000000``` and ```999999```.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the PIN has not been set yet.\r\nRequired during Add operations.","nullable":true},"tag":{"type":"string","description":"Person tag.\r\nCan be any publicly visible string that the person recognizes as distinctive.\r\nTypically it is an emoji symbol, but could also be an RFID code or\r\nsomething else.","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 Person 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 Person object.

> This API requires a Giver session.> \
> Only Receiver objects can be created with this API,> \
> the Giver object is always created by the Dialog State Machine.

````json
{"openapi":"3.0.1","info":{"title":"Memori Web API V2","version":"v2"},"paths":{"/memori/v2/Person/{strSessionID}":{"post":{"tags":["People"],"summary":"Adds a new Person object.","description":"This API requires a Giver session.\r\nOnly Receiver objects can be created with this API,\r\nthe Giver object is always created by the Dialog State Machine.","operationId":"People-AddPerson","parameters":[{"name":"strSessionID","in":"path","description":"The session ID","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The Person object specifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPersonSpecs"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPersonResponse"}}}}}}}},"components":{"schemas":{"AddPersonSpecs":{"type":"object","properties":{"personID":{"type":"string","description":"Person object ID.","nullable":true},"personType":{"type":"string","description":"Person type, e.g. ```Giver``` or ```Receiver```.\r\nRequired during Add operations.","nullable":true},"name":{"type":"string","description":"Person name.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the name has not been set yet.","nullable":true},"information":{"type":"string","description":"Person information.\r\nCurrently this is a free (unprocessed) text.","nullable":true},"pin":{"type":"string","description":"Person PIN. Must be a code between ```000000``` and ```999999```.\r\nMay be ```Null``` only when the Person object is created by\r\nthe Dialog State Machine and the PIN has not been set yet.\r\nRequired during Add operations.","nullable":true},"tag":{"type":"string","description":"Person tag.\r\nCan be any publicly visible string that the person recognizes as distinctive.\r\nTypically it is an emoji symbol, but could also be an RFID code or\r\nsomething else.","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 Person request."},"AddPersonResponse":{"type":"object","properties":{"personID":{"type":"string","description":"Person 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 Person 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/people.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.
