alterSession

Alter the settings of a session

The "alterSession" action alters the settings of the session identified by the "authToken" property. It can modify most session settings but cannot modify the "username" nor the "password" properties used to create the session. It cannot turn a temporary session into a permanent session.

The "result" property returned by the server describes the new state of the session that you just changed using the "alterSession" action.

 

Request examples

Minimal

{
  "api": "admin",
  "action": "alterSession",
  "params": {
    "idleConnectionTimeoutSeconds": 60000,
    "idleCursorTimeoutSeconds": 60000
  },
  "authToken": "replaceWithAuthTokenFromCreateSession"
}
 
 

Maximal

{
  "apiVersion": "1.0",
  "api": "admin",
  "action": "alterSession",
  "params": {
    "description": "new description",
    "defaultApi": "db",
    "defaultDebug": "max",
    "defaultDatabaseName": "ctreeSQL",
    "defaultOwnerName": "CHANGE",
    "defaultBinaryFormat": "hex",
    "defaultVariantFormat": "binary",
    "defaultResponseOptions": {
      "dataFormat": "objects",
      "numberFormat": "string",
      "binaryFormat": "hex",
      "stringFormat": "json",
      "variantFormat": "variantObject"
    },
    "idleConnectionTimeoutSeconds": 60000,
    "idleCursorTimeoutSeconds": 60000
  },
  "responseOptions": {
    "dataFormat": "objects",
    "numberFormat": "string",
    "binaryFormat": "hex",
    "variantFormat": "json"
  },
  "authToken": "replaceWithAuthTokenFromCreateSession"
  "requestId": "2",
  "debug": "max"
}
 
 

 

Response examples

Minimal

{
  "authToken": "replaceWithAuthTokenFromCreateSession",
  "result": {
    "authToken": "replaceWithAuthTokenFromCreateSession",
    "username": "CHANGE",
    "description": "optional user description of session for troubleshooting",
    "defaultDatabaseName": "ctreeSQL",
    "defaultOwnerName": "CHANGE",
    "defaultBinaryFormat": "hex",
    "defaultVariantFormat": "binary",
    "defaultStringFormat": "json",
    "defaultFixedLengthCharFormat": "sql",
    "defaultResponseOptions": {
      "dataFormat": "objects",
      "numberFormat": "string",
      "binaryFormat": "hex",
      "variantFormat": "variantObject",
      "stringFormat": "json",
      "fixedLengthCharFormat": "sql",
      "includeBookmarks": false
    },
    "idleConnectionTimeoutSeconds": 60000,
    "idleCursorTimeoutSeconds": 60000,
    "defaultApi": "db",
    "defaultDebug": "max",
    "transformBufferInitialBytes": 0,
    "permanentSession": true,
    "sessionStartTimestamp": "2026-05-07T22:39:34",
    "sessionLastAccessedTimestamp": "2026-05-07T22:43:11",
    "defaultRetentionPolicy": "autoPurge",
    "defaultRetentionUnit": "week",
    "defaultRetentionPeriod": 4,
    "serverVersion": "FairCom EDGE Server - V5.1.5.125(Build-260503)"
  },
  "debugInfo": {
    "request": {
      "authToken": "replaceWithAuthTokenFromCreateSession",
      "api": "admin",
      "action": "alterSession",
      "params": {
        "idleConnectionTimeoutSeconds": 60000,
        "idleCursorTimeoutSeconds": 60000
      },
      "debug": "max"
    }
  },
  "errorCode": 0,
  "errorMessage": ""
}
 
 

Maximal

{
  "authToken": "replaceWithAuthTokenFromCreateSession",
  "result": {
    "authToken": "replaceWithAuthTokenFromCreateSession",
    "username": "CHAGE",
    "description": "new description",
    "defaultDatabaseName": "ctreeSQL",
    "defaultOwnerName": "CHANGE",
    "defaultBinaryFormat": "hex",
    "defaultVariantFormat": "binary",
    "defaultStringFormat": "json",
    "defaultFixedLengthCharFormat": "sql",
    "defaultResponseOptions": {
      "fixedLengthCharFormat": "sql",
      "includeBookmarks": false,
      "binaryFormat": "hex",
      "variantFormat": "variantObject",
      "stringFormat": "json",
      "dataFormat": "objects",
      "numberFormat": "string"
    },
    "idleConnectionTimeoutSeconds": 60000,
    "idleCursorTimeoutSeconds": 60000,
    "defaultApi": "db",
    "defaultDebug": "max",
    "transformBufferInitialBytes": 0,
    "permanentSession": false,
    "sessionStartTimestamp": "2026-05-07T22:36:12",
    "sessionLastAccessedTimestamp": "2026-05-07T22:48:00",
    "defaultRetentionPolicy": "autoPurge",
    "defaultRetentionUnit": "week",
    "defaultRetentionPeriod": 4,
    "serverVersion": "FairCom EDGE Server - V5.1.5.125(Build-260503)"
  },
  "requestId": "2",
  "debugInfo": {
    "request": {
      "authToken": "replaceWithAuthTokenFromCreateSession",
      "api": "admin",
      "action": "alterSession",
      "params": {
        "description": "new description",
        "defaultApi": "db",
        "defaultDebug": "max",
        "defaultDatabaseName": "ctreeSQL",
        "defaultOwnerName": "CHANGE",
        "defaultBinaryFormat": "hex",
        "defaultVariantFormat": "binary",
        "defaultResponseOptions": {
          "dataFormat": "objects",
          "numberFormat": "string",
          "binaryFormat": "hex",
          "stringFormat": "json",
          "variantFormat": "variantObject"
        },
        "idleConnectionTimeoutSeconds": 60000,
        "idleCursorTimeoutSeconds": 60000
      },
      "apiVersion": "1.0",
      "requestId": "2",
      "responseOptions": {
        "binaryFormat": "hex",
        "dataFormat": "objects",
        "numberFormat": "string",
        "variantFormat": "json"
      },
      "debug": "max"
    }
  },
  "errorCode": 0,
  "errorMessage": ""
}
 
 

Invalid

{
  "authToken": "replaceWithAuthTokenFromCreateSession",
  "requestId": "2",
  "debugInfo": {
    "request": {
      "authToken": "replaceWithAuthTokenFromCreateSession",
      "api": "admin",
      "action": "alterSession",
      "params": {
        "description": "new description",
        "defaultApi": "db",
        "defaultDebug": "max",
        "defaultDatabaseName": "ctreeSQL",
        "defaultOwnerName": "CHANGE",
        "defaultBinaryFormat": "hex",
        "defaultVariantFormat": "binary",
        "defaultResponseOptions": {
          "dataFormat": "objects",
          "numberFormat": "string",
          "binaryFormat": "hex",
          "stringFormat": "json",
          "variantFormat": "variantObject"
        },
        "idleConnectionTimeoutSeconds": 60000,
        "idleCursorTimeoutSeconds": 60000
      },
      "apiVersion": "1.0",
      "requestId": "2",
      "responseOptions": {
        "dataFormat": "objects",
        "numberFormat": "string",
        "binaryFormat": "hex",
        "variantFormat": "json"
      },
      "debug": "max"
    }
  },
  "errorCode": 12031,
  "errorMessage": "'authToken' does not match any existing session. Use a valid 'authToken' or use 'createSession' to create a valid 'authToken'."
}
 
 

 

Request properties ("params")

Property Description Default Type Limits (inclusive)

description

The "description" property describes objects such as code packages, labels, or things. The server indexes this field with a full-text index so that you can search for any word or phrase. You cannot use this property for filtering in the Thing API.

Optional with default of "".

"unknown" for Thing API 

string

0 to 65,500 bytes

1 to 512 bytes for the Thing API 

fixedLengthCharFormat

The "fixedLengthCharFormat" property controls how the "getRecords" actions return values from fields with the "char" data type (CT_FSTRING), which is FairCom's fixed-length string field. It does not apply to other field types, such as "varchar", "lvarchar", "binary", "varbinary", and "lvarbinary".

 

For more details, see “fixedLengthCharFormat”

Optional with default “sql” string

“sql”

“trimTrailingSpaces”

“trimTrailingPadding”

defaultApi

The "defaultApi" property specifies the default value of the "api" property when it is omitted from an action request. 

  "params": {
    "username": "CHANGE",
    "password": "CHANGE",
    "description": "optional user description of session for troubleshooting",
    "defaultApi": "db",
    "defaultDebug": "max",
    "defaultDatabaseName": "ctreeSQL",
    "defaultOwnerName": "admin",
    "defaultBinaryFormat": "hex"
    },

FairCom DB defaults to "db"

FairCom Edge defaults "hub"

FairCom MQ defaults "mq"

string enum

"admin"

"hub"

"mq"

"db"

defaultDebug

The "defaultDebug" property defines the default value of the "debug" property for all requests in a session. 

Important This is different than the "debug" property in that the "debug" property can be universally used in any action while the "defaultDebug" property is only set in the "createSession" action and sets the "debug" property for any action run using the session being created.

  • Possible values include:
    • "none"
    • "max"
  • If "defaultDebug" is omitted or set to null, it defaults to "max".
    • This causes the server to include the "debugInfo" property in the response.
    • This setting is typically used in development environments and for temporarily troubleshooting issues in production environments.
  • For maximum performance set "defaultDebug" to "none".
    • This causes the server to omit the "debugInfo" property in the response.
    • This setting is typically used in production and staging environments where it is desirable to have maximum performance and minimal network traffic.
Optional with default of "max" string enum

"none"

"max"

defaultDatabaseName

The "defaultDatabaseName" property specifies which database name to use when the "databaseName" property is omitted.

  "params": {
    "username": "CHANGE",
    "password": "CHANGE",
    "description": "optional user description of session for troubleshooting",
    "defaultApi": "db",
    "defaultDebug": "max",
    "defaultDatabaseName": "ctreeSQL",
    "defaultOwnerName": "admin",
    "defaultBinaryFormat": "hex"
    },

FairCom DB defaults to "ctreeSQL"

FairCom Edge defaults to "faircom"

FairCom MQ defaults to "faircom"

string 1 to 64 bytes

defaultOwnerName

The "defaultOwnerName" property is used to specify the default owner of objects created by the session. Its value must be a valid username of an account. 

  • See Object owner in the JSON DB Concepts section for an explanation of how to use the "defaultOwnerName" and "ownername" properties to specify the owner of objects.
  • When "ownerName" is omitted the server uses the "defaultOwnerName" property value set during login.
  • In "createSession" and "alterSession" when "defaultOwnerName" is omitted or set to null:
    • In the JSON DB API, the server sets "defaultOwnerName" to the "username" of the logged-in user. Thus, by default, the logged-in account owns the objects it creates.
    • In the JSON Hub API and JSON MQ API, the server sets "defaultOwnerName" to "admin" allowing the server to own the objects it creates.
  • When "ownerName" is set to the empty string, then no account owns the object. Unowned objects can be managed by administrator accounts and by accounts assigned to roles that grant access rights to the object making it useful when you want to prevent an account from owning an object and inheriting full management rights to that object.

Optional with default of the session's "username" property.

string 1 to 64 bytes

defaultBinaryFormat

Defines the default value of “binaryFormat”

Optional with default of "hex"

string One of the following: "base64", "hex", or "byteArray".

defaultVariantFormat

The "defaultVariantFormat" property sets the default value of the "variantFormat" property when a JSON Action request does not include it.

Optional with default of "json" string

"json"

"binary"

"string"

"variantObject"

defaultResponseOptions

The "defaultResponseOptions" property is a "responseOptions" object that defines a default value for "responseOptions" that is used by default in all other action calls. 

JSON NAV allows you to choose how your program detects errors. By default, all error properties are included in each response – unless you override this behavior as shown in the example.

The example omits the error object in all responses which makes it easier for statically typed languages, such as C, C++, Java, C#, and VB, because they prefer properties to always be present. To help these languages, the "errorCode", "errorMessage", and "errorData" properties are always present whether there is an error or not.

Example

 "defaultResponseOptions": {
      "binaryFormat": "hex",
      "dataFormat": "objects",
      "numberFormat": "number",
      "variantFormat": "json"
    }

Optional with default of {}

object

"binaryFormat"

"dataFormat"

"numberFormat"

"stringFormat"

"variantFormat"

defaultResponseOptions

.dataFormat

The "dataFormat" property defines the format of the "data" property. The default format is an array of arrays. The alternative is an array of objects. The default for "dataFormat" can be changed during a "createSession" action by assigning a different value to the "dataFormat" property in "defaultResponseOptions".

  • "dataFormat" in the request in "responseOptions" determines how the "data" property in the response is formatted.
    • Possible values include:
      • "arrays"
        • This is the default and causes the server to return results as an array of arrays, which is the most efficient.
      • "objects"
        • This returns results as an array of objects. This is less efficient but is simpler to generate, read, and troubleshoot. 
Optional with default of "arrays" string

 

"arrays"

"objects"

defaultResponseOptions

.numberFormat

The "numberFormat" property defines the format of JSON numbers. For more details, see "numberFormat"

Optional with default of "number" string

"number"

"string"

defaultResponseOptions

.binaryFormat

The "binaryFormat" property designates the format of binary values embedded in JSON strings. For more details, see "binaryFormat" Optional with default of "hex" string One of the following: "base64", "hex", or "byteArray".

defaultResponseOptions

.stringFormat

The "stringFormat" property in "responseOptions" changes how "char", "varchar", "lvarchar", and "variant" string field values are returned.

This property applies to all "getRecords..." actions, except for "getRecordsUsingSql" because SQL controls the format of strings it returns.

  • Defaults to "json", which returns "char", "varchar" and "lvarchar" values as JSON strings. If the string contains non-compliant UTF-8 characters, the action returns an error. 
  • The "binary" option only applies to variant fields that contain a string value. 
Optional with default of "json" string

"json"

"binary"

"hex"

"base64"

"byteArray"

defaultResponseOptions

.variantFormat

The "variantFormat" property tells the server how to interpret the variant data included in a JSON Action request. For more details, see "variantFormat". Optional with default of "json" string

"json"

"binary"

"string"

"variantObject"

idleConnectionTimeoutSeconds

The "idleConnectionTimeoutSeconds" property specifies the number of seconds that a session with no activity will stay open.

A value of 0 keeps a session open indefinitely.

Optional with default of 3600

integer

0 to 2147483647

idleCursorTimeoutSeconds

The "idleCursorTimeoutSeconds" property specifies the number of seconds to keep a cursor with no activity open.

  • Each time a cursor retrieves records, the cursor timer restarts.
  • A value of -1 keeps a cursor open indefinitely.
  • A value of 0 immediately closes a cursor after the current operation.

Optional with default of 600

integer

0 to 2147483647

 

Response properties ("result")

Property Description Type Limits (inclusive)

defaultRetentionPeriod

The "defaultRetentionPeriod" property defines the default value of the "retentionPeriod" property when a JSON Action request does not otherwise define it. integer 1 to 100

defaultRetentionPolicy

The "defaultRetentionPolicy" property defines the default value of the "retentionPolicy" property when a JSON Action request does not otherwise define it. string enum

"autoPurge"

"neverPurge"

defaultRetentionUnit

The "defaultRetentionUnit" property defines the default value of the "retentionUnit" property when a JSON Action request does not otherwise define it. string enum

"minute"

"hour"

"day"

"week"

"month"

"year"

defaultFixedLengthCharFormat

The "defaultFixedLengthCharFormat" property defines the default value of the "fixedLengthCharFormat" property when a JSON Action request does not otherwise define it.

string

enum

"sql"

"trimTrailingSpaces"

"trimTrailingPadding"

defaultStringFormat

The "defaultStringFormat" property sets the default value of the "stringFormat" property when a JSON Action request does not include it.  string enum

"json"

"hex"

username

The "username" property specifies the account name of a user or application.

All API actions are performed in the context of the account identified by "username". For example, all tables created by an account are owned by the account. All queries use tables owned by the account.

In JSON DB API and JSON Hub API, use the "ownerName" property to cause an action to use a different account name than the value of "username". This allows an account to use tables created by another account and to create tables that are owned by another account.

Unlike other property names, such as "databaseName", "username" is all lowercase.

A zero-length username is invalid.

Note See System specifications for requirements of this and all other system properties.

In Key-Value actions, the "username" property is used with the user keystore. It allows an administrator account or an account with the "keyValueAdmin" privilege to manage a key-value pair for another account; otherwise, the server automatically uses the session's account. This approach ensures that an ordinary account can only set and retrieve its own key-value pairs.


Within the User keystore, different users can have the same key with different values. For example, the "db" and "sam" users can have their own "settings/default/" key and assign their own value to it.

string

 

 

1 to 64 bytes

description

The "description" property describes objects such as code packages, labels, or things. The server indexes this field with a full-text index so that you can search for any word or phrase. You cannot use this property for filtering in the Thing API. string

0 to 65,500 bytes

1 to 512 bytes for the Thing API 

defaultDatabaseName

The "defaultDatabaseName" property specifies which database name to use when the "databaseName" property is omitted.

  "params": {
    "username": "CHANGE",
    "password": "CHANGE",
    "description": "optional user description of session for troubleshooting",
    "defaultApi": "db",
    "defaultDebug": "max",
    "defaultDatabaseName": "ctreeSQL",
    "defaultOwnerName": "admin",
    "defaultBinaryFormat": "hex"
    },
string 1 to 64 bytes

defaultOwnerName

The "defaultOwnerName" property is used to specify the default owner of objects created by the session. Its value must be a valid username of an account. 

  • See Object owner in the JSON DB Concepts section for an explanation of how to use the "defaultOwnerName" and "ownername" properties to specify the owner of objects.
  • When "ownerName" is omitted the server uses the "defaultOwnerName" property value set during login.
  • In "createSession" and "alterSession" when "defaultOwnerName" is omitted or set to null:
    • In the JSON DB API, the server sets "defaultOwnerName" to the "username" of the logged-in user. Thus, by default, the logged-in account owns the objects it creates.
    • In the JSON Hub API and JSON MQ API, the server sets "defaultOwnerName" to "admin" allowing the server to own the objects it creates.
  • When "ownerName" is set to the empty string, then no account owns the object. Unowned objects can be managed by administrator accounts and by accounts assigned to roles that grant access rights to the object making it useful when you want to prevent an account from owning an object and inheriting full management rights to that object.
string 1 to 64 bytes

defaultBinaryFormat

Defines the default value of “binaryFormat” string One of the following: "base64", "hex", or "byteArray".

defaultVariantFormat

The "defaultVariantFormat" property sets the default value of the "variantFormat" property when a JSON Action request does not include it.

string

"json"

"binary"

"string"

"variantObject"

defaultResponseOptions

The "defaultResponseOptions" property is a "responseOptions" object that defines a default value for "responseOptions" that is used by default in all other action calls. 

JSON NAV allows you to choose how your program detects errors. By default, all error properties are included in each response – unless you override this behavior as shown in the example.

The example omits the error object in all responses which makes it easier for statically typed languages, such as C, C++, Java, C#, and VB, because they prefer properties to always be present. To help these languages, the "errorCode", "errorMessage", and "errorData" properties are always present whether there is an error or not.

Example

 "defaultResponseOptions": {
      "binaryFormat": "hex",
      "dataFormat": "objects",
      "numberFormat": "number",
      "variantFormat": "json"
    }
object

"binaryFormat"

"dataFormat"

"numberFormat"

"stringFormat"

"variantFormat"

defaultResponseOptions

.dataFormat

The "dataFormat" property defines the format of the "data" property. The default format is an array of arrays. The alternative is an array of objects. The default for "dataFormat" can be changed during a "createSession" action by assigning a different value to the "dataFormat" property in "defaultResponseOptions".

  • "dataFormat" in the request in "responseOptions" determines how the "data" property in the response is formatted.
    • Possible values include:
      • "arrays"
        • This is the default and causes the server to return results as an array of arrays, which is the most efficient.
      • "objects"
        • This returns results as an array of objects. This is less efficient but is simpler to generate, read, and troubleshoot. 
string

 

"arrays"

"objects"

defaultResponseOptions

.fixedLengthCharFormat

The "fixedLengthCharFormat" property controls how the "getRecords" actions return values from fields with the "char" data type (CT_FSTRING), which is FairCom's fixed-length string field. It does not apply to other field types, such as "varchar", "lvarchar", "binary", "varbinary", and "lvarbinary".

 

For more details, see "fixedLengthCharFormat"

string

enum

"sql"

"trimTrailingSpaces"

"trimTrailingPadding"

defaultResponseOptions

.includeBookmarks

The "includeBookmarks" property indicates whether or not bookmarks are included in the response by default. Boolean

true

false

defaultResponseOptions

.numberFormat

The "numberFormat" property defines the format of JSON numbers. For more details, see "numberFormat"

string

"number"

"string"

defaultResponseOptions

.binaryFormat

The "binaryFormat" property designates the format of binary values embedded in JSON strings. For more details, see "binaryFormat" string One of the following: "base64", "hex", or "byteArray".

defaultResponseOptions

.stringFormat

The "stringFormat" property in "responseOptions" changes how "char", "varchar", "lvarchar", and "variant" string field values are returned.

This property applies to all "getRecords..." actions, except for "getRecordsUsingSql" because SQL controls the format of strings it returns.

  • Defaults to "json", which returns "char", "varchar" and "lvarchar" values as JSON strings. If the string contains non-compliant UTF-8 characters, the action returns an error. 
  • The "binary" option only applies to variant fields that contain a string value. 
string

"json"

"binary"

"hex"

"base64"

"byteArray"

defaultResponseOptions

.variantFormat

The "variantFormat" property tells the server how to interpret the variant data included in a JSON Action request. For more details, see "variantFormat". string

"json"

"binary"

"string"

"variantObject"

idleConnectionTimeoutSeconds

The "idleConnectionTimeoutSeconds" property specifies the number of seconds that a session with no activity will stay open.

A value of 0 keeps a session open indefinitely.

integer

0 to 2147483647

idleCursorTimeoutSeconds

The "idleCursorTimeoutSeconds" property specifies the number of seconds to keep a cursor with no activity open.

  • Each time a cursor retrieves records, the cursor timer restarts.
  • A value of -1 keeps a cursor open indefinitely.
  • A value of 0 immediately closes a cursor after the current operation.
integer

0 to 2147483647

defaultApi

The "defaultApi" property specifies the default value of the "api" property when it is omitted from an action request. 

string enum

"admin"

"hub"

"mq"

"db"

defaultDebug

The "defaultDebug" property defines the default value of the "debug" property for all requests in a session. 

Important This is different than the "debug" property in that the "debug" property can be universally used in any action while the "defaultDebug" property is only set in the "createSession" action and sets the "debug" property for any action run using the session being created.

  • Possible values include:
    • "none"
    • "max"
  • If "defaultDebug" is omitted or set to null, it defaults to "max".
    • This causes the server to include the "debugInfo" property in the response.
    • This setting is typically used in development environments and for temporarily troubleshooting issues in production environments.
  • For maximum performance, set "defaultDebug" to "none".
    • This causes the server to omit the "debugInfo" property in the response.
    • This setting is typically used in production and staging environments where it is desirable to have maximum performance and minimal network traffic.
string enum

"none"

"max"

sessionStartTimestamp

The "sessionStartTimestamp" property indicates the date/time when the session was first initialized.

"result": {
  "sessionStartTimestamp": "2025-08-27T20:26:25",
  "sessionLastAccessedTimestamp": "2025-08-27T20:56:25"
  },
timestamp An ISO 8601 timestamp

sessionLastAccessedTimestamp

The "sessionLastAccessedTimestamp" property indicates the date/time when the session was last accessed.

"result": {
  "sessionStartTimestamp": "2025-08-27T20:26:25",
  "sessionLastAccessedTimestamp": "2025-08-27T20:56:25"
  },
timestamp An ISO 8601 timestamp

authToken

The "authToken" property signifies that the client is authenticated and authorized.

It is supplied by the server in response to the connect action.

Clients must include it in all subsequent requests to validate that they are authenticated and authorized. If the client does not supply the correct values, the server returns an unauthorized error.

string 0 to 255 bytes

permanentSession

The "permanentSession" property indicates if a session is permanent. For more details, see "permanentSession".

Optional with default of false Boolean

serverVersion

The "serverVersion" property indicates which version of the FairCom server the request was made to.

  "result": {
    "sessionStartTimestamp": "2025-08-28T15:44:56",
    "sessionLastAccessedTimestamp": "2025-08-28T18:07:07",
    "defaultRetentionPolicy": "autoPurge",
    "defaultRetentionUnit": "week",
    "defaultRetentionPeriod": 4,
    "serverVersion": "FairCom EDGE Server - V4.2.4.109(Build-250819)"
  },
string The name of the version of the FairCom server to which the request was made.

transformBufferInitialBytes

The "transformBufferInitialBytes" property specifies the number of bytes the session allocates initially for its transform buffer. Omit this property or set it to 0 when you do not plan on using the "transformCodeName" property to transform the JSON returned from the "getRecords..." actions. If you plan on transforming the JSON, you can set the "transformBufferInitialBytes" property to the number of bytes that you anticipate the server will need to store the results of each transform. If the server needs more memory, it automatically increases the buffer size; thus, this property optimizes to help prevent the server from performing expensive memory allocations.

integer 0 or more bytes