Functions

Lists all Macro Function objects.

get

This API requires a Giver session.

Path parameters
strSessionIDstringRequired

The session ID

Responses
200
Success
application/json
get
GET /memori/v2/MacroFunctions/{strSessionID} HTTP/1.1
Host: 
Accept: */*
200

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"
}

Lists all Function objects.

get

This API requires a Giver session.

Path parameters
strSessionIDstringRequired

The session ID

Responses
200
Success
application/json
get
GET /memori/v2/Functions/{strSessionID} HTTP/1.1
Host: 
Accept: */*
200

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"
}

Lists Function objects with pagination.

get

This API requires a Giver session.

Path parameters
strSessionIDstringRequired

The session ID

frominteger · int32Required

The 0-based index of the first Function object to list

howManyinteger · int32Required

The number of the Function objects to list

Responses
200
Success
application/json
get
GET /memori/v2/Functions/{strSessionID}/{from}/{howMany} HTTP/1.1
Host: 
Accept: */*
200

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"
}

Gets the details of a Function object.

get

This API requires a Giver session.

Path parameters
strSessionIDstringRequired

The session ID

strFunctionIDstringRequired

The Function object ID

Responses
200
Success
application/json
get
GET /memori/v2/Function/{strSessionID}/{strFunctionID} HTTP/1.1
Host: 
Accept: */*
200

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"
}

Removes an existing Function object.

delete

This API requires a Giver session.

Path parameters
strSessionIDstringRequired

The session ID

strFunctionIDstringRequired

The Function object ID

Responses
200
Success
application/json
delete
DELETE /memori/v2/Function/{strSessionID}/{strFunctionID} HTTP/1.1
Host: 
Accept: */*
200

Success

{
  "requestID": 1,
  "requestDateTime": "2025-07-23T12:36:42.450Z",
  "resultCode": 1,
  "resultMessage": "text"
}

Updates an existing Function object.

patch

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

Path parameters
strSessionIDstringRequired

The session ID

strFunctionIDstringRequired

The Function object ID

Body

Specifications for an Update Function request.

functionIDstring | nullableOptional

Function object ID.

functionTypestring | nullableOptional

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.

namestring | nullableOptional

Name of the Function object. Required during Add operations.

descriptionstring | nullableOptional

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.

webHookstring | nullableOptional

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.

httpMethodstring | nullableOptional

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.

httpQueryStringTemplatestring | nullableOptional

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}&param2={param2}. If the function is of Internal type, it is ignored.

httpBodyTemplatestring | nullableOptional

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.

httpBodyContentTypestring | nullableOptional

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.

sendExtensionHeadersstring[] | nullableOptional

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

creationTimestampstring · date-time | nullableOptional

Timestamp of creation. Always present when reading/receiving an object, ignored when writing/sending an object.

creationSessionIDstring | nullableOptional

ID of the session that created this object.

lastChangeTimestampstring · date-time | nullableOptional

Timestamp of latest change. Always present when reading/receiving an object, ignored when writing/sending an object.

lastChangeSessionIDstring | nullableOptional

ID of the latest session that changed this object.

Responses
200
Success
application/json
patch
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"
}
200

Success

{
  "requestID": 1,
  "requestDateTime": "2025-07-23T12:36:42.450Z",
  "resultCode": 1,
  "resultMessage": "text"
}

Adds a new Function object.

post

This API requires a Giver session.

Path parameters
strSessionIDstringRequired

The session ID

Body

Specifications for an Add Function request.

functionIDstring | nullableOptional

Function object ID.

functionTypestring | nullableOptional

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.

namestring | nullableOptional

Name of the Function object. Required during Add operations.

descriptionstring | nullableOptional

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.

webHookstring | nullableOptional

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.

httpMethodstring | nullableOptional

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.

httpQueryStringTemplatestring | nullableOptional

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}&param2={param2}. If the function is of Internal type, it is ignored.

httpBodyTemplatestring | nullableOptional

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.

httpBodyContentTypestring | nullableOptional

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.

sendExtensionHeadersstring[] | nullableOptional

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

creationTimestampstring · date-time | nullableOptional

Timestamp of creation. Always present when reading/receiving an object, ignored when writing/sending an object.

creationSessionIDstring | nullableOptional

ID of the session that created this object.

lastChangeTimestampstring · date-time | nullableOptional

Timestamp of latest change. Always present when reading/receiving an object, ignored when writing/sending an object.

lastChangeSessionIDstring | nullableOptional

ID of the latest session that changed this object.

Responses
200
Success
application/json
post
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"
}
200

Success

{
  "functionID": "text",
  "requestID": 1,
  "requestDateTime": "2025-07-23T12:36:42.450Z",
  "resultCode": 1,
  "resultMessage": "text"
}