Functions
This API requires a Giver session.
The session ID
GET /memori/v2/MacroFunctions/{strSessionID} HTTP/1.1
Host:
Accept: */*
Success
{
"count": 1,
"macroFunctions": [
{
"name": "text",
"descriptions": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"macroParameters": [
{
"name": "text",
"descriptions": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"obfuscated": true
}
]
}
],
"requestID": 1,
"requestDateTime": "2025-07-23T12:36:42.450Z",
"resultCode": 1,
"resultMessage": "text"
}
This API requires a Giver session.
The session ID
GET /memori/v2/Functions/{strSessionID} HTTP/1.1
Host:
Accept: */*
Success
{
"count": 1,
"functions": [
{
"functionID": "text",
"functionType": "text",
"name": "text",
"description": "text",
"parameters": [
{
"parameterID": "text",
"name": "text",
"description": "text",
"parameterType": "text",
"possibleValues": [
"text"
],
"required": true,
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
],
"webHook": "text",
"httpMethod": "text",
"httpHeaders": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"httpQueryStringTemplate": "text",
"httpBodyTemplate": "text",
"httpBodyContentType": "text",
"sendExtensionHeaders": [
"text"
],
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
],
"requestID": 1,
"requestDateTime": "2025-07-23T12:36:42.450Z",
"resultCode": 1,
"resultMessage": "text"
}
This API requires a Giver session.
The session ID
The 0-based index of the first Function object to list
The number of the Function objects to list
GET /memori/v2/Functions/{strSessionID}/{from}/{howMany} HTTP/1.1
Host:
Accept: */*
Success
{
"count": 1,
"functions": [
{
"functionID": "text",
"functionType": "text",
"name": "text",
"description": "text",
"parameters": [
{
"parameterID": "text",
"name": "text",
"description": "text",
"parameterType": "text",
"possibleValues": [
"text"
],
"required": true,
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
],
"webHook": "text",
"httpMethod": "text",
"httpHeaders": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"httpQueryStringTemplate": "text",
"httpBodyTemplate": "text",
"httpBodyContentType": "text",
"sendExtensionHeaders": [
"text"
],
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
],
"requestID": 1,
"requestDateTime": "2025-07-23T12:36:42.450Z",
"resultCode": 1,
"resultMessage": "text"
}
This API requires a Giver session.
The session ID
The Function object ID
GET /memori/v2/Function/{strSessionID}/{strFunctionID} HTTP/1.1
Host:
Accept: */*
Success
{
"function": {
"functionID": "text",
"functionType": "text",
"name": "text",
"description": "text",
"parameters": [
{
"parameterID": "text",
"name": "text",
"description": "text",
"parameterType": "text",
"possibleValues": [
"text"
],
"required": true,
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
],
"webHook": "text",
"httpMethod": "text",
"httpHeaders": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"httpQueryStringTemplate": "text",
"httpBodyTemplate": "text",
"httpBodyContentType": "text",
"sendExtensionHeaders": [
"text"
],
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
},
"requestID": 1,
"requestDateTime": "2025-07-23T12:36:42.450Z",
"resultCode": 1,
"resultMessage": "text"
}
This API requires a Giver session.
The session ID
The Function object ID
DELETE /memori/v2/Function/{strSessionID}/{strFunctionID} HTTP/1.1
Host:
Accept: */*
Success
{
"requestID": 1,
"requestDateTime": "2025-07-23T12:36:42.450Z",
"resultCode": 1,
"resultMessage": "text"
}
This API requires a Giver session. Only non-null (present) fields are considered for update. Null or absent fields are left unaltered.
The session ID
The Function object ID
Specifications for an Update Function request.
Function object ID.
Function type, e.g. Internal
or WebHook
.
Internal functions are a limited subset implemented internally,
while WebHook intents perform an external HTTP call to the
specified web hook, using the specified templates.
Required during Add operations.
Ignored during Update operations.
Name of the Function object. Required during Add operations.
Description of the Function object. The description is provided to the generative AI to help it understand the purpose of the function. Required during Add operations.
HTTP URL of the web hook to be called when the function is invoked,
up to the path part. The query string part is specified separately.
It may include the value of function parameters using the syntax {parameter}
,
where "parameter" is the parameter name. E.g.: http://example.com/{param}/something
.
If the function is of Internal type, it is ignored.
HTTP method to be used when calling the web hook, e.g. "GET", "POST" etc. If the function is of Internal type, it is ignored.
Template of the HTTP query string to be passed to the web hook.
It may include the value of function parameters using the syntax {parameter}
,
where "parameter" is the parameter name. E.g.: param1={param1}¶m2={param2}
.
If the function is of Internal type, it is ignored.
Template of the HTTP request body to be passed to the web hook.
It may be in any format (JSON, XML etc.), and may include the value of function
parameters using the syntax {parameter}
, where "parameter"
is the parameter name. E.g.: { "param1": "{param1}", "param2": "{param2}" }
,
or: <request><param1>{param1}</param1><param2>{param2}</param2></request>
.
If the function is of Internal type, it is ignored.
MIME type of the HTTP request body to be passed to the web hook. If not specified "text/plain" is assumed. If the function is of Internal type, it is ignored.
List of extension headers to be sent to the web hook. Extension headers let the web hook receive internal information on the current state of the conversation, such as the session ID, current date and place, context variables etc. If the function is of Internal type, it is ignored. Currently supported extension headers are: SESSION-ID: the current session ID, sent with header X-Memori-Session-ID CURRENT-TAG: the current tag, sent with headers X-Memori-Current-Tag and X-Memori-Current-Tag-Authenticated CURRENT-DATE: the current date in UTC, sent with header X-Memori-Current-Date CURRENT-PLACE: the current place, sent with headers X-Memori-Current-Place-Name, X-Memori-Current-Place-Latitude, X-Memori-Current-Place-Longitude and X-Memori-Current-Place-UncertaintyKm CONTEXT-VARS: the current context variables, sent with header X-Memori-Context-Vars, with the format NAME1:VALUE1,NAME2:VALUE2,...,NAMEn:VALUEn USER-EMAIL: the current user email, sent with header X-Memori-User-Email
Timestamp of creation. Always present when reading/receiving an object, ignored when writing/sending an object.
ID of the session that created this object.
Timestamp of latest change. Always present when reading/receiving an object, ignored when writing/sending an object.
ID of the latest session that changed this object.
PATCH /memori/v2/Function/{strSessionID}/{strFunctionID} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 726
{
"functionID": "text",
"functionType": "text",
"name": "text",
"description": "text",
"parameters": [
{
"parameterID": "text",
"name": "text",
"description": "text",
"parameterType": "text",
"possibleValues": [
"text"
],
"required": true,
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
],
"webHook": "text",
"httpMethod": "text",
"httpHeaders": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"httpQueryStringTemplate": "text",
"httpBodyTemplate": "text",
"httpBodyContentType": "text",
"sendExtensionHeaders": [
"text"
],
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
Success
{
"requestID": 1,
"requestDateTime": "2025-07-23T12:36:42.450Z",
"resultCode": 1,
"resultMessage": "text"
}
This API requires a Giver session.
The session ID
Specifications for an Add Function request.
Function object ID.
Function type, e.g. Internal
or WebHook
.
Internal functions are a limited subset implemented internally,
while WebHook intents perform an external HTTP call to the
specified web hook, using the specified templates.
Required during Add operations.
Ignored during Update operations.
Name of the Function object. Required during Add operations.
Description of the Function object. The description is provided to the generative AI to help it understand the purpose of the function. Required during Add operations.
HTTP URL of the web hook to be called when the function is invoked,
up to the path part. The query string part is specified separately.
It may include the value of function parameters using the syntax {parameter}
,
where "parameter" is the parameter name. E.g.: http://example.com/{param}/something
.
If the function is of Internal type, it is ignored.
HTTP method to be used when calling the web hook, e.g. "GET", "POST" etc. If the function is of Internal type, it is ignored.
Template of the HTTP query string to be passed to the web hook.
It may include the value of function parameters using the syntax {parameter}
,
where "parameter" is the parameter name. E.g.: param1={param1}¶m2={param2}
.
If the function is of Internal type, it is ignored.
Template of the HTTP request body to be passed to the web hook.
It may be in any format (JSON, XML etc.), and may include the value of function
parameters using the syntax {parameter}
, where "parameter"
is the parameter name. E.g.: { "param1": "{param1}", "param2": "{param2}" }
,
or: <request><param1>{param1}</param1><param2>{param2}</param2></request>
.
If the function is of Internal type, it is ignored.
MIME type of the HTTP request body to be passed to the web hook. If not specified "text/plain" is assumed. If the function is of Internal type, it is ignored.
List of extension headers to be sent to the web hook. Extension headers let the web hook receive internal information on the current state of the conversation, such as the session ID, current date and place, context variables etc. If the function is of Internal type, it is ignored. Currently supported extension headers are: SESSION-ID: the current session ID, sent with header X-Memori-Session-ID CURRENT-TAG: the current tag, sent with headers X-Memori-Current-Tag and X-Memori-Current-Tag-Authenticated CURRENT-DATE: the current date in UTC, sent with header X-Memori-Current-Date CURRENT-PLACE: the current place, sent with headers X-Memori-Current-Place-Name, X-Memori-Current-Place-Latitude, X-Memori-Current-Place-Longitude and X-Memori-Current-Place-UncertaintyKm CONTEXT-VARS: the current context variables, sent with header X-Memori-Context-Vars, with the format NAME1:VALUE1,NAME2:VALUE2,...,NAMEn:VALUEn USER-EMAIL: the current user email, sent with header X-Memori-User-Email
Timestamp of creation. Always present when reading/receiving an object, ignored when writing/sending an object.
ID of the session that created this object.
Timestamp of latest change. Always present when reading/receiving an object, ignored when writing/sending an object.
ID of the latest session that changed this object.
POST /memori/v2/Function/{strSessionID} HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 726
{
"functionID": "text",
"functionType": "text",
"name": "text",
"description": "text",
"parameters": [
{
"parameterID": "text",
"name": "text",
"description": "text",
"parameterType": "text",
"possibleValues": [
"text"
],
"required": true,
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
],
"webHook": "text",
"httpMethod": "text",
"httpHeaders": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"httpQueryStringTemplate": "text",
"httpBodyTemplate": "text",
"httpBodyContentType": "text",
"sendExtensionHeaders": [
"text"
],
"creationTimestamp": "2025-07-23T12:36:42.450Z",
"creationSessionID": "text",
"lastChangeTimestamp": "2025-07-23T12:36:42.450Z",
"lastChangeSessionID": "text"
}
Success
{
"functionID": "text",
"requestID": 1,
"requestDateTime": "2025-07-23T12:36:42.450Z",
"resultCode": 1,
"resultMessage": "text"
}