Add session
                This API is reliable and breaking changes are unlikely.
Path
[session_module_root]/session
Method
POST
Description
This creates a new session object for a user. Use JSON in the following format in the HTTP body:
{
  "UserDirectory": "<user directory>",
  "UserId": "<unique user id>",
  "Attributes":
    [ { "<Attribute1>": "<value1a>" },
        { "<Attribute1>": "<value1b>" }, [attributes are not unique]
        { "<Attribute2>": "" }, [value can be empty]
        { "<Attribute3>": "<value3>" },
        ...
    ] [optional],
  "SessionId": "<session id>"
}If the response is successful, the module returns JSON like above, but with the addition of the property NewUser. This property indicates if the user already had a session (NewUser: false) or if the user was indeed a new user (NewUser: true).
The SessionId and the attributes are the same as the ones that were posted. The intended use for posting session IDs to the Session module is integration scenarios where a web portal of some sort is to issue session IDs.
Limitations
The attribute size is limited by the default maximum http header length in the Windows built-in http stack, which is 16 KB by default. It is possible to increase the header length by adjusting two keys in the Windows registry up to 64 KB:
- HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\MaxFieldLength
 - HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters\MaxRequestBytes