Patch profile

Prev Next
Patch
/platform/api/profiles/preview/{id}

Changes a profile with a JSON merge patch: members not sent keep their stored value. A change of group moves the profile and needs the group right on the target group, as dropping it there in the Lobster UI; the target must be an existing group (422), and a profile open in an editor cannot be moved (409). A group that is null, empty or left out (also in overwrite mode) keeps the stored group.

Security
OAuth

OAuth2 client-credentials flow for machine-to-machine access. Exchange a client id/secret at /dw/register/oauth/token for a bearer token, then send it as Authorization: Bearer <access_token>. Client credentials are provisioned in the Lobster administration UI.

This is the client-credentials token endpoint of the Platform API. /oauth/token, the token_endpoint advertised at /.well-known/oauth-authorization-server, serves the authorization code flow of the OAuth2AuthorizationCode scheme.

FlowClient Credentials
Token URL/dw/register/oauth/token
Refresh URL/dw/register/oauth/token
OAuth

OAuth 2.1 authorization code flow with PKCE, for acting as a signed-in user. It works with Microsoft and other single sign-on providers: the provider only confirms the user's identity to the platform, which then issues its own token.

  1. POST /oauth/register (no authentication) with the JSON body {"redirect_uris": ["<redirect URI>"]} returns a client_id. The user's browser has to reach the redirect URI.
  2. Open /oauth/authorize in the user's browser with response_type=code, client_id, redirect_uri, state and a code_challenge with code_challenge_method=S256. state is a fresh unguessable value per request, and code_challenge is the S256 hash of a code_verifier freshly generated per request from a cryptographically secure random source (43 to 128 characters, RFC 7636). The user signs in on the platform's login page, and the browser is redirected to the redirect URI with code and state; a callback whose state differs from the one sent is to be rejected.
  3. The code is valid for 30 seconds. Exchange it at POST /oauth/token, form-encoded, with grant_type=authorization_code, code, redirect_uri, code_verifier and client_id.
  4. The answer carries access_token (valid 30 minutes), refresh_token (valid 48 hours) and expires_in in milliseconds. Refresh with grant_type=refresh_token, refresh_token and client_id.
FlowAuthorization Code
Authorization URL/oauth/authorize
Token URL/oauth/token
Refresh URL/oauth/token
HTTP
Type bearer

Bearer token obtained from an authenticated browser or guest-user session.

Flow 1 — UI login: Log in via the Lobster web UI at /, then call GET /auth/sessionBearerToken to exchange the session cookie for a bearer token.

Flow 2 — Guest user login token: Append a GuestUser loginToken as a URL query parameter to the base URL to establish a password-free session:

GET <host>?loginToken=<GuestUser token>

Then call GET /auth/sessionBearerToken to obtain the bearer token.

Path parameters
id
stringRequired

The profile's id, as returned by list and create.

Query parameters
backup
boolean

Back up the stored version of the profile before this change replaces it, like the profile editor's save: the backup appears in the editor's Backup tab. A backup that cannot be written is logged and does not fail the request.

Defaultfalse
Body parameters

Partial update following JSON Merge Patch (RFC 7396). Send only the fields to change; omitted fields are left unchanged and an explicit null clears a field. What a clear reaches depends on the resource. Where the value is carried onto an underlying configuration, the field is reset to what a freshly built configuration holds for it rather than to absent, since that configuration has no representation for unset; where the absence cannot be stored at all, the null is accepted and the stored value is kept. A field the resource fills by resolving a reference keeps what is stored whenever the reference cannot be read back, a null being indistinguishable there from a lookup the session was not allowed to make. Requires Content-Type: application/merge-patch+json (sending application/json is rejected with HTTP 415). Control keys steer the merge and are spelled as a namespace prefix, a $ and the marker — the JSON form of the import vocabulary's core:mode. core$mode=overwrite, on the body or on any object inside it, resets the members that object did not send; a read-only member is not reset, since a marker cannot clear what a value could not set. An overwrite therefore has to carry every member the resource requires — its name among them — because omitting one asks for a record the store cannot accept. A reset is bound by the same limits an explicit null has, and those differ by resource: where the value is carried onto an underlying configuration the member goes back to what a freshly built one holds, and where the absence cannot be stored at all the member is kept rather than reset — so an overwrite is not a way to clear what a null could not. Nor does it remove a nested object the resource does not store separately: omitting a profile's inputAgentSettings under an overwrite does not remove the input agent, because a profile without one is not a state the store can hold. Send the nested object to reset inside it. core$mode=noResolve, likewise inherited by everything nested in it, matches nothing against the stored record, so the collections it covers are replaced, and a core$index or core$delete anywhere below it is rejected with 400 rather than passed over. core$index is a zero-based position in the stored list, sent as a number or its string form: the array element carrying it is merged into that stored element instead of replacing the list, and core$delete=true on the same element removes that position instead. Both steer an element of a list and are rejected with 400 anywhere else — on the body root, or on a member that holds a single object rather than a collection. Positions are counted in the list as it stood before the patch, so a core$delete earlier in the same array does not shift the entries a later core$index names, and the order of the elements does not matter. A core$index naming a position the list does not have, or whose stored element is of another type, is not honoured; the array then reads as an ordinary send. An element carrying core$delete=true is the exception: a delete steers the collection whether or not it matched anything, so an unhonoured one leaves the stored list exactly as it was rather than replacing it. An array no element of which carries an honoured marker replaces the stored collection, and [] clears it. An array that mixes steered and unmarked elements keeps the stored collection and adds the unmarked ones, so re-sending such a body adds them again — only an array whose every element is steered is idempotent. Outside a free-form map or property bag, whose keys are the caller's own and are stored verbatim however they are spelled, any other member spelling a $ is rejected with 400 — including a misspelled marker, a core$index that is not a whole number, a core$delete that is not true or false, a core$mode other than overwrite, noResolve or inherited, and any of the three carrying an object or an array as its value.

fields

Change two fields

An ordinary merge patch: every member not sent keeps its stored value.

{
  "description": "nightly import",
  "active": true
}
listElement

Fill one stored list element in place

core$index names the stored position, so the sent member is merged into that element and the members it omits survive. Sending this body again changes nothing, because every element it carries is steered — an unmarked element alongside a steered one is added to the stored list on each send.

{
  "inputAgentSettings": {
    "errorCodeSettings": [
      {
        "core$index": 1,
        "responseMsg": "upstream unavailable"
      }
    ]
  }
}
listElementDelete

Remove one stored list element

core$delete removes the named position and leaves the rest of the list alone.

{
  "inputAgentSettings": {
    "errorCodeSettings": [
      {
        "core$index": 0,
        "core$delete": true
      }
    ]
  }
}
overwrite

Reset the members this body omits

Every member this body omits goes back to its default, as far as the record can store its absence — a member the API does not accept as input is never reset, and an omitted group keeps the stored group.

{
  "core$mode": "overwrite",
  "name": "acme-order-import",
  "description": "the only description kept"
}
Expand All
object

Merge-patch form of core.IntegrationProfile: every member is optional; an overwrite (core$mode=overwrite) must still carry name.

class
string

The type of this object, always core.IntegrationProfile. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationProfile" ]
active
boolean

Whether the profile runs. An active profile takes calls on its input agent (an HTTP alias answers under /dw/Request/<url>) and a Cron* agent runs on its schedule from the moment it is stored; the change takes effect at once.

archiving
object (core.ArchivingSettings)

What happens to the input data after a run. null keeps every stored value.

class
string

The type of this object, always core.ArchivingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ArchivingSettings" ]
handToArchiveSystem
boolean

Hands the input data over to the archive system after processing.

Defaultfalse
indexBackup
boolean

Indexes the input backup for search.

Defaultfalse
retainBackupDays
integer (int32)

Days a run's backup is retained. Must be at least -1, which follows the system-wide setting.

Minimum-1
Default-1
databaseAccess
object (core.DatabaseAccessSettings)

Both database concerns in one place: the phase 4 SQL step after the mapping. null keeps every stored value.

class
string

The type of this object, always core.DatabaseAccessSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DatabaseAccessSettings" ]
phase4
object (core.Phase4Settings)

The SQL step run against a database after the mapping. null keeps every stored value.

class
string

The type of this object, always core.Phase4Settings. Required where the member it is sent in accepts several types.

Valid values[ "core.Phase4Settings" ]
continueOnSqlError
boolean

Continues with the next record when a phase 4 SQL statement errors, instead of failing the job.

Defaultfalse
enabled
boolean

Turns phase 4 on. Forced back to false while the profile's integrationSettings.unit is core.SqlBulkUnit.

Defaultfalse
onlyIfVariable
string

Name of a profile variable that must resolve to true at run time for phase 4 to execute; empty always runs phase 4 while enabled is true.

trimValues
boolean

Trims SQL values before they are used in phase 4.

Defaultfalse
source
object (core.DatabaseSourceSettings)

The statement a Cron-SQL input runs. null keeps every stored value.

class
string

The type of this object, always core.DatabaseSourceSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DatabaseSourceSettings" ]
connection
string

Name of the database connection (alias) to query; it must already exist on the instance and be allowed for the profile's client. %NAME% constants and variables are resolved.

deleteAfterRead
string

Whether, and how, the rows statement selected are deleted once the job has processed them.

Valid values[ "NONE", "MATCH_ROW", "WHERE_CLAUSE" ]
Default"NONE"
emptyResult
object (core.SourceEmptyResultSettings)

What the input does when statement returns no row. null keeps every stored value.

class
string

The type of this object, always core.SourceEmptyResultSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceEmptyResultSettings" ]
replacementData
string

The input used while useReplacement is true, in the same CSV shape a real result row would have. Empty by default.

useReplacement
boolean

Starts one job with replacementData as its input instead of starting none.

Defaultfalse
parameters
Array of object (core.SqlCronParameter)

Statement parameters bound positionally into statement. Left out keeps the stored ones; an empty list binds none.

object

One SQL statement parameter of a core.CronSqlAgentSettings agent, bound positionally. name is a display label, e.g. the parameter's position, not a bind variable name.

class
string

The type of this object, always core.SqlCronParameter. Required where the member it is sent in accepts several types.

Valid values[ "core.SqlCronParameter" ]
name
string

Display label of the parameter, e.g. its position.

Example1
value
string

Value bound for the parameter. %NAME% constants and profile variables are resolved.

statement
string

The SQL statement to run. Lines starting with -- are dropped. @0:t@ passes the time of the previous run as a statement parameter, so a run can read only new rows. %NAME% constants and variables are resolved.

ExampleSELECT id, name, amount FROM orders WHERE exported = 0
description
string

Free text saying what the profile does.

documentation
object (core.DocumentationSettings)

Notes and a documentation link of the profile. null keeps every stored value.

class
string

The type of this object, always core.DocumentationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DocumentationSettings" ]
documentationUrl
string

URL of external documentation for the profile, %CONST% fillers allowed. Must not carry credentials (user info). Empty by default.

Examplehttps://docs.acme.example/edi/purchase-order
importNote
string

Free-text note shown when the profile is imported (for example, path adjustments). Empty by default.

errorHandling
object (core.ErrorHandlingSettings)

What happens when a job fails. null keeps every stored value.

class
string

The type of this object, always core.ErrorHandlingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ErrorHandlingSettings" ]
continueReadOnParseError
boolean

CSV only: skips a record that fails to parse instead of failing the job. Applies only while parsing.documentType is CSV, otherwise a changed value is rejected.

Defaultfalse
edifactContrl
object (core.EdifactContrlSettings)

The EDIFACT CONTRL acknowledgement. null keeps every stored value.

class
string

The type of this object, always core.EdifactContrlSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EdifactContrlSettings" ]
enabled
boolean

Whether a CONTRL message is sent to the profile named in profile. Forced false while parsing.formatSettings.tradacoms is true; switching it on there is rejected.

Defaultfalse
profile
string

Name of the profile that sends the CONTRL message; not checked for existence on write.

exceptionProfile
string

Name of a profile to run when this one's job fails; must name an existing profile with a core.MessageAgentSettings input agent when changed - any other input agent type is never found for exception handling at run time. Empty runs none.

mailRecipient
string

Mail address notified when a job fails in phase 2 to 5 (parsing/mapping/database), distinct from responseSettings.errorRecipient which covers phase 6. Empty sends none.

Exampleops@acme.example
skipRecordOnError
boolean

Skips a record that errors instead of failing the whole job.

Defaultfalse
workflow
object (core.WorkflowReference)

The workflow to run when this profile's job fails, referenced by its id, which is the workflow's name. A profile that runs none reads back null; sending null keeps the stored workflow, an empty or null id runs none.

class
string

The type of this object, always core.WorkflowReference. Required where the member it is sent in accepts several types.

Valid values[ "core.WorkflowReference" ]
id
string

The workflow's name, which identifies it: the latest version of the workflow with this name is started, ignoring upper and lower case. An empty or null id runs none.

ExampleNotify Support
extensions
object (core.ExtensionSettings)

Pluggable Java classes the profile runs, and their parameter. Any change needs a data-admin session. null keeps every stored value.

class
string

The type of this object, always core.ExtensionSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ExtensionSettings" ]
environmentCheck
object (core.EnvironmentCheckSettings)

A check run before the job starts. null keeps every stored value.

class
string

The type of this object, always core.EnvironmentCheckSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EnvironmentCheckSettings" ]
className
string

Fully qualified Java class name of an environment check run before the job starts; must be one of the environment checks installed on the instance when changed. Empty runs none. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=ENVIRONMENT_CHECK.

parameter
string

Config file path for className; its content is not settable through this API.

postParser
object (core.PostParserSettings)

A postparser that runs after parsing. null keeps every stored value.

class
string

The type of this object, always core.PostParserSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.PostParserSettings" ]
className
string

Fully qualified Java class name of a postparser that runs after phase 2; must be one of the postparsers installed on the instance when changed. Empty runs none. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=POST_PARSER.

preParser
object (core.PreParserSettings)

A preparser that runs before parsing. null keeps every stored value.

class
string

The type of this object, always core.PreParserSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.PreParserSettings" ]
className
string

Fully qualified Java class name of a preparser that runs before phase 2; must be one of the preparsers installed on the instance when changed. com.ebd.hub.datawizard.parser.DummyPreParser skips the mapping while still handing the input on unchanged. Empty runs none. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=PRE_PARSER.

parameter
string

Config file path for className; its content is not settable through this API.

resultOverwritesBackup
boolean

Whether the preparser's result overwrites the backup of the original input.

Defaultfalse
governance
object (core.GovernanceSettings)

Administrative flags of the profile. null keeps every stored value.

class
string

The type of this object, always core.GovernanceSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.GovernanceSettings" ]
privateData
boolean

Marks the profile as holding private data. Only a data administrator may change it.

Defaultfalse
group
string

The id of the profile group the profile is listed under, as GET /platform/api/profiles/preview/groups returns it. Required on create: a missing, blank or root value, or an unknown id, is rejected as invalid. On an update by PATCH (also in overwrite mode), a missing, null or blank value keeps the stored group; a full replace by PUT must name the group, so there such a value is rejected as invalid. Any other value may only move the profile into an existing group, so root or an unknown id is rejected as invalid. A legacy value (such as Default, or root for a profile at the top level) is read back as stored and accepted while it stays unchanged.

Example6bb76781_199702d94be_2714_9a14992bf4897187_6bb76781_1996f5f9530_-8000
inputAgentSettings
object (core.ProfileInputAgentSettings)

Phase 1, how data arrives: one input agent object naming its type in class, e.g. core.HttpAgentSettings (the profile listens on /dw/Request/<url>) or a time-driven core.CronHttpAgentSettings, core.CronFileAgentSettings, ... that runs on a schedule.

OneOf
core.DataQueueAgentSettings
object (core.DataQueueAgentSettings)
class
string

The type of this object, always core.DataQueueAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DataQueueAgentSettings" ]
alias
string

Database alias sqlStatement runs on, allowed for the profile's client; %name% constants are resolved. Only used when useSql is true.

className
string

Java class that inserts the entry into sqlStatement when useSql is true (replaces &1). A custom class must be installed on the instance.

Default"com.ebd.hub.datawizard.util.DefaultAS400DataHandler"
errorOnNoData
boolean

When true, an entry whose sqlStatement returns no rows is logged as a failed job; when false it is skipped silently. Only used when useSql is true.

Defaultfalse
factoryName
string

Id (factory name) of the cluster node that reads the queue in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

host
string

Host name or IP address of the IBM i (AS/400) system. %name% constants are resolved.

Exampleas400.example.com
interval
integer (int64)

Milliseconds between two polls of the queue. Each poll reads entries until the queue is empty; with an interval of up to one minute at most 50 entries per poll.

Minimum50
Default1000
Example1000
key
string

Key for a keyed data queue: when set, the queue is read as a keyed queue and only entries with exactly this key are read. Empty reads a normal (non-keyed) queue.

queue
string

Integrated file system path of the data queue object.

Example/QSYS.LIB/MYLIB.LIB/ORDERS.DTAQ
skipExecution
Array of object (core.DataQueueSkipExecution)

Weekly time windows in which the queue is not read, e.g. a nightly backup of the IBM i system. Empty: the queue is polled all the time the profile is active.

object

A weekly time window in which a data queue agent does not read its queue: it starts on day at hour:minute (server time) and lasts duration minutes. One element of skipExecution.

class
string

The type of this object, always core.DataQueueSkipExecution. Required where the member it is sent in accepts several types.

Valid values[ "core.DataQueueSkipExecution" ]
day
string

Day of the week the window starts.

Valid values[ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
Default"SUNDAY"
duration
integer (int32)

Length of the window in minutes.

Example120
hour
integer (int32)

Hour of the day the window starts, 0 to 23.

minute
integer (int32)

Minute of the hour the window starts, 0 to 59.

sqlStatement
string

SQL query run against the database alias for every entry read when useSql is true; with the default className every &1 is replaced by the entry text, unescaped. Line breaks are replaced by spaces. The result rows, as comma-separated CSV, become the job's input; no rows means no job (see errorOnNoData).

ExampleSELECT * FROM ORDERS WHERE ORDERNO = '&1'
useSql
boolean

When true, each entry read is not processed itself but used as parameter of sqlStatement on alias, and the query result is the job's input; when false the entry text is the input.

Defaultfalse
user
string

User profile the agent signs on to the IBM i system with. %name% constants are resolved. A failed sign-on is logged at runtime, not rejected on save.

core.HttpAgentSettings
object (core.HttpAgentSettings)
class
string

The type of this object, always core.HttpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentSettings" ]
acceptEmptyBody
boolean

What a POST, PUT or PATCH without body does. false refuses it with status 500 and runs no job; true runs the job with a placeholder document, e.g. { "body": "data" } for JSON input.

Defaultfalse
acceptEmptyResponse
boolean

true answers every successful call with status 204 and no body, taking precedence over useResponseOnSuccess and responseOnSuccess.

Defaultfalse
acceptHttpDelete
boolean

true lets DELETE calls reach this profile. Its body is read only with deleteHasPayload; otherwise the job gets a placeholder document.

Defaultfalse
acceptHttpGet
boolean

true lets GET calls reach this profile. A GET carries no body: the job gets a placeholder document, and the query parameters as MSG_CALL_<NAME> variables. A call with a method the agent does not accept does not match it.

Defaultfalse
acceptHttpHead
boolean

true lets HEAD calls reach this profile; the job gets a placeholder document.

Defaultfalse
acceptHttpPatch
boolean

true lets PATCH calls reach this profile; the request body is the job's input.

Defaultfalse
acceptHttpPost
boolean

true lets POST calls reach this profile; the request body is the job's input.

Defaulttrue
acceptHttpPut
boolean

true lets PUT calls reach this profile; the request body is the job's input.

Defaultfalse
acceptREST
boolean

true makes this a REST endpoint: calls to any sub-path of url match too, e.g. orders/v1/42; the part after url is put into the variable MSG_CALL_HTTP_PATH_DATA and split into named variables by restUrlPlaceholder.

Defaultfalse
apiResponseTestFiles
Array of object (core.HttpAgentTestFile)

Response examples for the generated OpenAPI document, taken from the profile's sample-response files; a listed file that does not exist can make the ?api request fail. Has no effect on calls.

object

An example file shown in the OpenAPI document an HTTP input agent generates for its profile; one element of apiTestFiles (request examples) or apiResponseTestFiles (response examples). The file itself is not transferred through this API: it must already be stored with the profile. The for* flags choose for which HTTP operations of the document it is the example.

class
string

The type of this object, always core.HttpAgentTestFile. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentTestFile" ]
forDelete
boolean

true uses the file as example for the DELETE operation.

Defaultfalse
forGet
boolean

true uses the file as example for the GET operation.

Defaultfalse
forHead
boolean

true uses the file as example for the HEAD operation.

Defaultfalse
forPatch
boolean

true uses the file as example for the PATCH operation.

Defaultfalse
forPost
boolean

true uses the file as example for the POST operation.

Defaultfalse
forPut
boolean

true uses the file as example for the PUT operation.

Defaultfalse
path
string

File name of the example, relative to the profile's folder for such files: its test-mapping samples for request examples, its sample responses for response examples. A request example that does not exist there is left out of the document.

Exampleorder.json
apiTestFiles
Array of object (core.HttpAgentTestFile)

Request examples for the generated OpenAPI document, taken from the profile's test-mapping sample files. Has no effect on calls.

object

An example file shown in the OpenAPI document an HTTP input agent generates for its profile; one element of apiTestFiles (request examples) or apiResponseTestFiles (response examples). The file itself is not transferred through this API: it must already be stored with the profile. The for* flags choose for which HTTP operations of the document it is the example.

class
string

The type of this object, always core.HttpAgentTestFile. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentTestFile" ]
forDelete
boolean

true uses the file as example for the DELETE operation.

Defaultfalse
forGet
boolean

true uses the file as example for the GET operation.

Defaultfalse
forHead
boolean

true uses the file as example for the HEAD operation.

Defaultfalse
forPatch
boolean

true uses the file as example for the PATCH operation.

Defaultfalse
forPost
boolean

true uses the file as example for the POST operation.

Defaultfalse
forPut
boolean

true uses the file as example for the PUT operation.

Defaultfalse
path
string

File name of the example, relative to the profile's folder for such files: its test-mapping samples for request examples, its sample responses for response examples. A request example that does not exist there is left out of the document.

Exampleorder.json
asyncRequest
boolean

true hands the call to background processing and answers at once, before the job has run: with responseOnSuccess (or 204 with acceptEmptyResponse). A response unit can then not return data, so with useResponseOnSuccess: false the caller gets an error.

Defaultfalse
authenticationType
string

HTTP authentication scheme the caller must use when authentication is required (see channelIds).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
channelIds
Array of integer

Ids of the partners' HTTP channels allowed to call this agent; list them with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). When set, a caller must authenticate as one of these channels (its remoteId as user plus its password, or a token accepted for it), else it gets 401. Empty requires no authentication. The ids are stored as sent, without checking that they exist.

integer (int64)
deleteHasPayload
boolean

true reads the body of a DELETE call as the job's input, like for POST. Only relevant with acceptHttpDelete.

Defaultfalse
enableApi
boolean

true publishes a generated API description of the endpoint: <url>?api returns an OpenAPI document as JSON (?api&yaml as YAML), for a SOAP agent <url>?wsdl the WSDL. With false such calls run the profile like any other call.

Defaulttrue
errorCode
string

HTTP status sent with responseOnError when the job fails, as text; a %NAME% constant may be used. A value that is not a number, or below 100, falls back to 500 at run time. Empty or blank on a write is treated the same as absent. Always 500 while webservice is true.

Default"500"
Example500
errorCodeSettings
Array of object (core.HttpAgentErrorCode)

Error bodies for further HTTP statuses besides errorCode, e.g. a status a mapping raises with 480 throw http exception and an empty message. Also listed as error responses in the generated OpenAPI document.

object

Error body for one further HTTP status of an HTTP input agent; one element of errorCodeSettings. When a failed job answers with statusCode (other than the agent's errorCode), e.g. through the mapping function 480 throw http exception with an empty message, the caller receives responseMsg instead of responseOnError. Also listed as an error response in the profile's generated OpenAPI document.

class
string

The type of this object, always core.HttpAgentErrorCode. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentErrorCode" ]
responseMsg
string

Body sent with that status. The placeholders of responseOnError work here too: {--Exception--}, {--ExceptionBase64--}, {--FullStackTraceException--}, @VAR_JOBNR@.

statusCode
integer (int32)

HTTP status code this body is for, 100 to 599.

Example404
invisibleForDmz
boolean

true refuses calls that reach the instance through the Lobster DMZ server (answered 404 as if no profile matched); only calls made directly to the instance get through.

Defaultfalse
jwtScopes
string

OAuth2 scopes a JWT bearer token must carry to call this agent, separated by spaces; all listed scopes are required, more are fine, a token missing one gets 403. Empty checks no scopes. Only checked when the caller authenticates with a JWT bearer token.

Exampleorders.read orders.write
mimeType
string

Content type of the answer to the caller, on success and when the job fails. A value containing json also makes the error placeholders JSON-escaped. Sent as the answer's Content-Type; a charset in it only labels the body and does not convert it. The profile output is sent as written, so set the unit's encoding to match the charset (e.g. application/json; charset=UTF-8). A fixed response message is sent as UTF-8, except when the input is unpacked as an archive (compressed input): then it is sent as ISO-8859-1. The job-error text is always ISO-8859-1, whatever charset is declared. Also the media type of the responses in the generated OpenAPI document.

Default"text/html"
Exampleapplication/json
multiPartFileKey
string

For a multipart/form-data call: name of the part that carries the data to process. Empty takes the part named file if there is one, else the first file part. The other parts become variables MSG_CALL_HTTP_MULTIPART<n>_NAME / _VALUE, their count MSG_CALL_HTTP_MULTIPARTS.

Exampledocument
namespaceUrl
string

Target namespace of the WSDL generated for a SOAP agent and of its default SOAP answer. Only used while webservice is true.

Default"http://tempuri.org"
params
Array of object (core.HttpAgentParam)

Elements named to match one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other element is unaffected.

object

A request parameter a call must carry for this profile to be chosen; one element of params of an HTTP or data-product input agent. A call without it, or with a value not listed, does not reach this profile. Not needed just to read a parameter: every query parameter of a call is available as the variable MSG_CALL_<NAME>.

class
string

The type of this object, always core.HttpAgentParam. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentParam" ]
name
string Required

Name of the query or form parameter; compared case-insensitively. %NAME% constants are resolved.

Min length1
Examplemode
values
Array of string

Accepted values; the call's value must equal one of them exactly (case-sensitive), e.g. ["fast", "full"]. * accepts any value, regex:<pattern> a value the whole pattern matches, e.g. regex:[0-9]+; %NAME% constants are resolved. An empty list never matches, so the profile becomes unreachable; use ["*"] to require only the parameter's presence.

string
responseOnError
string

Body sent with status errorCode when the job fails. Without webservice, absent or blank defaults to [Job-Id @VAR_JOBNR@] failed. Placeholders: {--Exception--} (error text), {--ExceptionBase64--}, {--FullStackTraceException--}, @VAR_JOBNR@; for a JSON mimeType the inserted texts are escaped for JSON, and with webservice the body is wrapped in a SOAP fault.

responseOnSuccess
string

Fixed body sent to the caller after a successful job while useResponseOnSuccess is true; @VAR_JOBNR@ and @VAR_SYS_MESSAGE_ID@ are replaced with the job number and message id. Always used for an archive (e.g. ZIP) upload.

Example{"status": "ok", "job": "@VAR_JOBNR@"}
restUrlPlaceholder
string

Names for the path segments after url in REST mode: a call to <url>/berlin/42 sets the variables MSG_CALL_HTTP_REST_API_PATH_shop = berlin and MSG_CALL_HTTP_REST_API_PATH_petId = 42. A leading or trailing / is removed. Only evaluated while acceptREST is true.

Example{shop}/{petId}
swaggerResponseDesc
string

Description of the success response in the generated OpenAPI document; only used while responseOnSuccess is empty, and Success! when this is empty too. Has no effect on calls.

swaggerTransformerVersion
string

Generator of the ?api OpenAPI document. Has no effect on calls.

Valid values[ "Legacy", "Jackson" ]
Default"Legacy"
url
string

Path the agent listens on, appended to <instance>/dw/Request/. Leading and trailing / do not matter; the rest must match exactly, unless acceptREST also admits sub-paths. Keep it unique: when several active profiles match a call (same path, method and params), one of them is taken.

Exampleorders/v1
useResponseOnSuccess
boolean

How the caller's success answer is produced. true sends the fixed text responseOnSuccess; false sends what a response unit with returnResponseToCaller: true hands back, and if none does the caller gets an error. Ignored while acceptEmptyResponse is true. With false, input that is split into several messages or an archive is refused.

Defaulttrue
webservice
boolean

true makes this a SOAP web service: ?wsdl serves a generated WSDL (see wsdlCreator, namespaceUrl), errors are answered as SOAP faults with status 500 (ignoring errorCode), and multipart parts are not turned into variables. Through this API, acceptHttpPost, acceptHttpGet, acceptHttpHead and acceptHttpDelete keep the values sent.

Defaultfalse
wsdlCreator
string

How the WSDL and the success answer of a SOAP agent are built: com.ebd.hub.datawizard.util.creator.DefaultWSDLCreator answers with a fixed SOAP envelope carrying the job number (ProfileReferenceID), whatever useResponseOnSuccess says; com.ebd.hub.datawizard.util.creator.ResponseWSDLCreator derives the WSDL from the target structure. Only used while webservice is true.

Default"com.ebd.hub.datawizard.util.creator.DefaultWSDLCreator"
core.CronOftpAgentSettings
object (core.CronOftpAgentSettings)
class
string

The type of this object, always core.CronOftpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronOftpAgentSettings" ]
acceptEmptyFiles
boolean

Stored but not evaluated: the OFTP agent processes every received file, whatever its size.

channel
object (core.IntegrationPartnerChannelOFTP)

The OFTP partner channel to call, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type OFTP). Checked on write and read back resolved. Required: without it every run fails with "No OFTP partner channel set". The host comes from the channel's address. Its direction must be OUT or IN_AND_OUT, because the call opens the connection; this is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelOFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelOFTP" ]
aceEnabled
boolean

Whether the certificates are exchanged with this partner automatically. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.OftpProtocol)

Transports the partner may use. The editor exposes TCPIP and TCPIP_TLS; ISDN is also represented for existing channels. null, an empty list or omission keeps the stored allowance.

Example["TCPIP", "TCPIP_TLS"]
string

An OFTP transport allowed by allowedProtocols on an OFTP channel.

  • ISDN: OFTP over ISDN.
  • TCPIP: OFTP over TCP/IP without TLS.
  • TCPIP_TLS: OFTP over TCP/IP with TLS.
Valid values[ "ISDN", "TCPIP", "TCPIP_TLS" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
creditCount
integer (int32)

The credit count of the OFTP session. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
doubleCdSendingAllowed
boolean

Whether the platform may send the change-direction command twice in a row. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
eerpSigningRequired
boolean

Whether the partner's end-to-end responses must be signed. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
encryptionAlgorithm
string

The encryption algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to AES256.

Default"AES256"
Pattern^(AES256|DESede|RSA-OAEP)$
endpointUrl
string

The partner's OFTP server the platform connects to; oftps:// uses TLS (commonly port 6619).

Pattern^oftps?://.+
Exampleoftp://oftp.acme.example:3305
exchangeBufferSize
integer (int32)

The size of the exchange buffer in bytes. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSsid
string Required

The platform's own OFTP identifier (SSID) toward this partner. Required on create; a write may not blank it.

Min length1
ExampleO0013000000LOBSTER
maximumProtocolReleaseLevel
string

The highest OFTP protocol release the platform offers. Leaving it out keeps the stored value, null restores the default.

Valid values[ "V1_2", "V1_3", "V1_4", "V2_0" ]
Default"V2_0"
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
oftp2TslName
string

The name of the trusted service list the partner's certificate is checked against. An empty string restores the default; leaving it out keeps the stored value, null restores it too.

Default"OFTP2"
pendingLocalCertificateId
string

Id of the platform's own certificate (with private key) that takes over as localCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example44
pendingRemoteCertificateId
string

Id of the partner's certificate (public key) that takes over as remoteCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example45
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertSubject
string

The subject of the partner's certificate the platform looks for when remoteCertificateId names none. Leaving it out keeps the stored value, null or an empty string removes it.

ExampleCN=oftp.acme.example
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteSfid
string

The partner's OFTP identifier - the SSID it presents when it connects, which assigns the session to this channel. Must be unique among OFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that no partner presents.

ExampleO0013000000ACME
secureAuthenticationMandatory
boolean

Whether the partner must authenticate securely. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendRestartDisabled
boolean

Whether an interrupted send is never resumed, but started again from the beginning. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signatureAlgorithm
string

The signature algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to SHA1.

Default"SHA1"
Pattern^(SHA1|SHA256|SHA512|SHA3_512)$
strictSfidChecking
boolean

Whether the SFID of every incoming file must match one the partner is allowed to send. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
tlsCipherName
string

The TLS cipher suite to use. An empty string removes the preference; leaving it out keeps the stored value, null resets it to the default.

ExampleTLS_AES_256_GCM_SHA384
userIncomingDirectory
string

The directory on the platform incoming files of this partner go to. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/in
userOutgoingDirectory
string

The directory on the platform outgoing files for this partner are taken from. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/out
x25WindowSize
integer (int32)

The X.25 window size. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
destination
string

Recipient SFID. Stored but not evaluated: the call uses the identities of channel.

errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

host
string

Host name or address to call; non-empty overrides the channel's address. null resets it to the default.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
oftpByTcpIp
boolean

true calls over TCP/IP, which oftpTLS then secures; false calls over ISDN. null resets it to the default.

Defaulttrue
oftpDmzOption
string

Whether the call goes through the Lobster DMZ.

Valid values[ "NO_DMZ", "DMZ", "DMZ_BY_SYSTEM" ]
Default"DMZ_BY_SYSTEM"
oftpPort
integer (int32)

Port to call; a value above 0 overrides the port of the channel's address. Omitted on create it is stored as 6619, which then overrides the channel's port, so send 0 to use the channel's port.

Example6619
oftpServiceName
string

Name of the OFTP service on the instance that makes the call; only change it where several OFTP services are installed.

Default"OftpService"
oftpTLS
boolean

true connects over TCP/IP with TLS, false over plain TCP/IP. It also decides the port used when neither oftpPort nor the channel's address has one: 6619 with TLS, 3305 without.

Defaulttrue
origin
string

Sender SFID. Stored but not evaluated: the call uses the identities of channel.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every received file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.FTPAgentSettings
object (core.FTPAgentSettings)
class
string

The type of this object, always core.FTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.FTPAgentSettings" ]
acceptEmptyFiles
boolean

true also processes uploaded files of zero bytes; false skips them with a log entry.

Defaultfalse
channels
Array of object (core.IntegrationPartnerChannelFTP)

FTP partner channels whose logins may deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type FTP). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an FTP channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An FTP connection with the partner, in either direction: the partner logs in to the platform's FTP server as remoteId and lands in remotePath, and the platform connects to the partner's server at host and port. Referenced by core.CronFtpAgentSettings.channel (fetch), core.FtpProfileResponseUnit.channel (send) and core.FTPAgentSettings.channels (partners allowed to upload). The partner's login password is remotePassword; the password the platform uses at the partner's server is not settable through this API, give it in the cron job or response unit instead. Channel list filter type=FTP.

class
string

The type of this object, always core.IntegrationPartnerChannelFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.FtpProtocol)

FTP flavours the partner may log in to the platform's FTP server with: any of FTP, FTPS_EXPLICIT, FTPS_IMPLICIT. At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits all three.

Example["FTPS_EXPLICIT", "FTPS_IMPLICIT"]
string

An FTP flavour the partner may use to log in to the platform's FTP server: allowedProtocols of an FTP channel.

  • FTP: Plain FTP, unencrypted.
  • FTPS_EXPLICIT: FTPS explicit: the connection starts plain and upgrades to TLS (AUTH TLS).
  • FTPS_IMPLICIT: FTPS implicit: TLS from the first byte.
Valid values[ "FTP", "FTPS_EXPLICIT", "FTPS_IMPLICIT" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's FTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Exampleftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

User name the platform logs in with at the partner's FTP server; its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
onlyHome
boolean

Whether the partner, logged in on the platform's FTP server as remoteId, is confined to its home directory (remotePath) and cannot change to a directory above it. null or left out keeps the stored value; a new channel is not confined.

port
integer (int32)

TCP port of the partner's FTP server; left out, the address carries no port. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Example21
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

User name the partner logs in with on the platform's FTP server; its password is remotePassword. Must be unique among all FTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password) Required

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's FTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. The FTP server refuses every login to a channel without one. Left out or blank on create, the server picks <client default channel directory>ftp/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ftp/acme
reuseSslSession
boolean

Whether the control connection's TLS session is reused for the data connections of an FTPS transfer when the platform connects to the partner; some servers refuse a data connection without it. Leaving it out keeps the stored value, null resets it to true; a new channel reuses the session.

Defaulttrue
virtualRoot
boolean

Whether the partner, logged in on the platform's FTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. Leaving it out keeps the stored value, null resets it to false; a new channel shows the real path.

Defaultfalse
whiteListAddresses
Array of string

Addresses the partner may log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
dir
string

Sub-directory, relative to the partner's home directory on the Lobster FTP/SFTP server, that an upload must land in for this profile; separate several with ;. $USER$ is replaced by the uploading partner's login name. Empty accepts uploads in any directory.

Examplein/orders
fileName
string

File-name pattern a file the partner uploads must match for this profile to take it. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and <yyyyMMdd> is replaced by the current date. If several profiles accept an upload, the one with the longest matching dir and the most specific pattern wins.

ExampleORDERS_*.csv|INVOIC_*.csv
processOnLogout
boolean

true collects the files a partner uploads during one session and processes them only when the partner logs out; false processes each file as soon as its upload is complete.

Defaultfalse
core.CronPop3AgentSettings
object (core.CronPop3AgentSettings)
class
string

The type of this object, always core.CronPop3AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronPop3AgentSettings" ]
channel
object (core.IntegrationPartnerChannelMail)

The Mail partner channel whose mailbox is polled, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type Mail). Checked on write and read back resolved. Server, protocol, login and password come from the channel; host, port and user override them when set. The channel must allow POP3 or IMAP retrieval respectively, otherwise every run fails. Without a channel host and user are required, and the password cannot be set through the API. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelMail. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelMail" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.MailChannelProtocol)

What the channel may be used for: any of SMTP and ASMTP (sending mail, without and with a login) and POP3 and IMAP (fetching mail). At least one must stay allowed (an empty list leaves the stored allowance unchanged), and POP3 and IMAP are mutually exclusive (the editor keeps one); null or left out keeps the stored allowance, which on a new channel permits all four.

Example["SMTP", "IMAP"]
string

A mail protocol the channel may be used with: allowedProtocols of a mail channel.

  • SMTP: SMTP: sending mail without login.
  • ASMTP: ASMTP: sending mail through an SMTP server that requires a login.
  • POP3: POP3: fetching mail from a POP3 mailbox.
  • IMAP: IMAP: fetching mail from an IMAP mailbox.
Valid values[ "SMTP", "ASMTP", "POP3", "IMAP" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing mails; used only when the channel sends encrypted. Not validated on save. null or left out keeps the stored value.

Default"AES"
ExampleAES
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
imapFolder
string

IMAP folder mail is fetched from; a directory set in the IMAP cron job overrides it.

Default"INBOX"
ExampleINBOX/orders
incomingMaxSize
integer (int64)

Largest incoming mail accepted on this channel, in bytes. Must be at most 1073741824 (1024 MB). null (or leaving it out on create) means no limit, and an unlimited channel reads back null.

Minimum1
Example10485760
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

The platform's own mail address on this channel; matched case-insensitively, so an incoming mail is assigned to the channel whatever case it is addressed in, while the address is stored and read back as given. Unless the channel stores its own SMTP or retrieval user name, the platform logs in with this address, so changing it changes that login too. null or left out keeps the stored value.

Exampleedi@lobster.example
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's mail address, stored in lower case; an SMTP response unit sends to it unless the unit names its own receiver. A channel that receives mail should hold exactly one address; this API does not check. Left out, the server fills a placeholder address (mail...@mail.org).

Exampleedi@acme.example
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
retrievalAuthMechanism
string

SASL mechanism for the POP3/IMAP login when mail is fetched through this channel; left out, the mail library negotiates one.

ExampleXOAUTH2
retrievalServerUrl
string

POP3/IMAP server the platform fetches mail from through this channel (pop3://, pop3s://, pop3es://, imap://, imaps:// or imapes://; the s variants are TLS, the es variants STARTTLS). Another scheme is accepted as given and fails when mail is retrieved. null or left out keeps the stored value.

Exampleimaps://mail.acme.example:993
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing mails; used only when the channel sends signed. Not validated on save. null or left out keeps the stored value.

Default"SHA256"
ExampleSHA256
smtpAuthMechanism
string

SASL mechanism for the SMTP login, case-insensitive; OAuth2 tokens are not settable through this API. Left out, the mail library negotiates one.

ExamplePLAIN
smtpServerUrl
string

SMTP server that mails to this partner are sent through (smtp:// default port 25, smtps:// 465, smtpes:// for STARTTLS). A host or port set in the SMTP response unit overrides it.

Pattern^(smtp|smtps|smtpes)://.+
Examplesmtps://mail.acme.example:465
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dmz
boolean

Not used by POP3 and IMAP: the mail is always fetched directly. Leave it false.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

handleUnknownMailData
string

What happens to a mail body or attachment that no rule in mailDispatchSettings accepts: STORE_UNRESOLVED stores it in the instance's 'unresolved' folder and sends the unresolved-data notification, DISCARD discards it.

Valid values[ "STORE_UNRESOLVED", "DISCARD" ]
Default"STORE_UNRESOLVED"
host
string

Host name of the mail server; overrides the server of channel when set. Empty uses the channel's. Placeholders such as %NAME% are resolved.

Exampleimap.example.com
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailDispatchSettings
Array of object (core.MailDispatchRule)

Rules that decide, for the body and for each attachment of a fetched mail, which profile processes it. They are checked in list order and the first matching rule whose profile is usable wins; scoring does not reorder them. Sending the member replaces all rules. Data no rule accepts is handled as handleUnknownMailData says, so an empty list sends everything there; at least one rule is required.

object

One routing rule of a mail agent, an element of mailDispatchSettings of a POP3, IMAP or X.400 agent. The agent checks the rules in list order against the body and against each attachment of a fetched mail, and hands the data to the profile of the first active rule whose criteria all match (contentType, filePattern, channel, sender, to, cc, subject, mimeType) and whose profile is usable. An empty criterion does not filter. Send sender, subject and filePattern explicitly, "" meaning no filter: an omitted one is stored without a value, which the matching does not handle.

class
string

The type of this object, always core.MailDispatchRule. Required where the member it is sent in accepts several types.

Valid values[ "core.MailDispatchRule" ]
active
boolean

false switches the rule off, so it is skipped.

Defaulttrue
cc
string

One mail address that must be among the mail's CC recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
channel
integer (int64)

Id of a partner channel the mail must belong to, checked as matchChannel says; the platform assigns incoming mails to partner channels, and an X.400 mail without one gets the agent's channel. List channels with GET /platform/api/partners/preview/{partnerId}/channels. Stored as sent without any check. 0 does not filter by channel.

Default0
Example4711
contentType
string

Which part of a mail the rule applies to.

Valid values[ "BODY", "ATTACHMENT", "BODY_AND_ATTACHMENT", "NONE" ]
Default"ATTACHMENT"
exactMatchSubject
boolean

true requires the subject to equal subject, ignoring case; false only requires it to contain subject. Not used when subject is a regex: expression.

Defaultfalse
filePattern
string

Pattern the attachment's file name must match (* and ? wildcards ignoring case, | alternatives, regex: regular expressions); * or "" accepts every attachment. Only checked for attachments.

ExampleORDERS_*.edi|INVOIC_*.edi
mailType
string

Kind of agent the rule belongs to. Left out on an existing rule, the stored kind is kept.

Valid values[ "POP3", "IMAP", "X400" ]
Default"POP3"
matchChannel
string

How channel is checked. Only evaluated when channel is not 0.

Valid values[ "POLLING_CHANNEL", "SET_CHANNEL", "OWN_IDENTIFIER", "IGNORE" ]
Default"IGNORE"
mimeType
string

Content type the mail body must have for a body rule, compared case-insensitively with the content types of the body. Only checked for the body (contentType BODY or BODY_AND_ATTACHMENT) and ignored for X.400; without a value no body matches.

Exampletext/plain
profileName
string

Name of the profile that processes the matching data; a profile's id is its name, see GET /platform/api/profiles/preview. Empty means the agent's own profile. The target must belong to the same client, be active, not be a master template and be within its validity period; otherwise the rule is skipped and the next one is tried.

scoring
integer (int64)

Ranking used to sort a rule list by how specific a rule is. The agent ignores it and checks the rules in list order; stored as sent, 0 is fine.

sender
string

Text the sender's address must contain, ignoring case; with mailType X400 an X.400 address the sender must match. "" does not filter.

Example@partner.example
subject
string

Text the subject must contain, ignoring case, or equal with exactMatchSubject; a value starting with regex: is a regular expression the whole subject must match. "" does not filter.

to
string

One mail address that must be among the mail's To recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

Port of the mail server; a value above 0 overrides the port of channel. Omitted on create it is stored as 21, which then overrides the channel's port, so send 0 to use the channel's port.

Example993
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every mail body and attachment to a separate background job and continues at once, so several jobs run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
skipCorruptMail
boolean

true skips a mail that cannot be read or parsed and continues with the next one; false aborts the run at such a mail.

Defaultfalse
supportSMIME
boolean

Stored but not read: S/MIME handling of the fetched mails is always enabled.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
user
string

Login name at the mail server; overrides the retrieval user of channel when set. Empty uses the channel's.

core.MQTTAgentSettings
object (core.MQTTAgentSettings)
class
string

The type of this object, always core.MQTTAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MQTTAgentSettings" ]
alias
string

Name of the MQTT connection (broker, credentials, MQTT version) to subscribe with; it must exist on the instance.

binaryConverterClassName
string

Java class name of a custom binary converter, meant for complexDataType BINARY. Stored, but the MQTT agent does not call it.

complexDataType
string

Structured payload type. Omit it for plain text or numbers read as genericDataType.

Valid values[ "XML", "JSON", "BINARY" ]
delimiter
string

Text put between the messages when finalValueFunction is ALL and complexDataType is not set; NL stands for a line break (CRLF). Empty: the messages are concatenated without separator.

Example,
factoryName
string

Id (factory name) of the cluster node that runs this agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

filters
Array of object (core.MessageFilter)

Function chain that decides, for each message that arrives while the buffer is not yet full, whether the collected messages (including this one) are handed on early: the chain runs on the message text and the buffer is forwarded when its last result is true. It does not drop messages. Only evaluated with messageBufferSize above 1 and only when mqttConditions is absent; an empty mqttConditions list disables it too.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

What the job receives from the collected messages. Without complexDataType, MIN, MAX and AVG need a numeric genericDataType (INTEGER, FLOAT, BIG_DECIMAL or BIG_INTEGER) and ALL works for STRING, INTEGER, FLOAT, BIG_DECIMAL and BIG_INTEGER; any other combination produces no job. With complexDataType JSON or XML, ALL combines the messages (see there) and every other value passes the last message on.

Valid values[ "MIN", "MAX", "AVG", "ALL", "LAST" ]
Default"LAST"
genericDataType
string

Type the whole message payload is read as for mqttConditions and finalValueFunction. mqttConditions support STRING, INTEGER, DOUBLE, DATE (yyyy-MM-dd), FLOAT and BIG_INTEGER. A message that does not parse as the type fails the check. Keep STRING when complexDataType is set.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
messageBufferSize
integer (int32)

Number of messages collected before they are handed on together as one job, combined by finalValueFunction. 1 starts one job per message; timeout, mqttConditions and filters only have an effect above 1.

Default1
messageIntervalCheck
integer (int32)

Not evaluated by the MQTT agent: mqttConditions and filters are checked on every message.

Default1
mqttConditions
Array of object (core.MqttConditionEntry)

Conditions that hand the collected messages on early: when a message that arrives before the buffer is full matches any value of any entry, the buffer including this message is forwarded. The whole message is compared, read as genericDataType; entries are OR-linked. They do not drop messages. Only evaluated with messageBufferSize above 1; when present (even as an empty list), filters are ignored.

object

One entry of mqttConditions of an MQTT, Kafka or AMQP (Legacy) agent: a comparison (condition) and the values the whole received message is compared with, read as the agent's genericDataType. The entry matches when the message matches any of its values; the entries of the list are OR-linked. A match hands the buffered messages on early, it does not filter messages out.

class
string

The type of this object, always core.MqttConditionEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.MqttConditionEntry" ]
condition
string

Comparison to apply. Text (genericDataType STRING) supports REGEX, CONTAINS, EQUALS and NOT; numbers support EQUALS, NOT and the four comparisons; dates only SMALLER, GREATER and EQUALS; any other combination never matches. Required; a missing or unknown name is rejected. A later entry with the same condition replaces an earlier one.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values the message is compared with, written in the agent's genericDataType, e.g. dates as 2024-12-31 or a regular expression for REGEX. Every value must parse as that type, otherwise the check fails.

string
qos
string

MQTT quality of service of the subscription.

Valid values[ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ]
Default"AT_LEAST_ONCE"
timeout
integer (int32)

Seconds after which the messages collected so far are handed on as one job even though fewer than messageBufferSize have arrived; checked about every 5 seconds. 0 waits until the buffer is full. Only meaningful with messageBufferSize above 1.

Default0
topic
string

Topic filter to subscribe to (MQTT wildcards + and # are allowed). %name% constants are resolved.

Exampleplant1/+/temperature
core.OFTPAgentSettings
object (core.OFTPAgentSettings)
class
string

The type of this object, always core.OFTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.OFTPAgentSettings" ]
channels
Array of object (core.IntegrationPartnerChannelOFTP)

OFTP partner channels allowed to deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type OFTP). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an OFTP channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An OFTP connection with the partner: both sides' OFTP identifiers, the partner's OFTP server and the certificates. Needs localSsid; remoteSfid and endpointUrl are filled from defaults when absent. Referenced by core.CronOftpAgentSettings.channel (fetch), core.OftpProfileResponseUnit.channel (send) and core.OFTPAgentSettings.channels (partners allowed to deliver). The session passwords and additional SFIDs are not settable through this API; channel list filter type=OFTP.

class
string

The type of this object, always core.IntegrationPartnerChannelOFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelOFTP" ]
aceEnabled
boolean

Whether the certificates are exchanged with this partner automatically. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.OftpProtocol)

Transports the partner may use. The editor exposes TCPIP and TCPIP_TLS; ISDN is also represented for existing channels. null, an empty list or omission keeps the stored allowance.

Example["TCPIP", "TCPIP_TLS"]
string

An OFTP transport allowed by allowedProtocols on an OFTP channel.

  • ISDN: OFTP over ISDN.
  • TCPIP: OFTP over TCP/IP without TLS.
  • TCPIP_TLS: OFTP over TCP/IP with TLS.
Valid values[ "ISDN", "TCPIP", "TCPIP_TLS" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
creditCount
integer (int32)

The credit count of the OFTP session. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
doubleCdSendingAllowed
boolean

Whether the platform may send the change-direction command twice in a row. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
eerpSigningRequired
boolean

Whether the partner's end-to-end responses must be signed. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
encryptionAlgorithm
string

The encryption algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to AES256.

Default"AES256"
Pattern^(AES256|DESede|RSA-OAEP)$
endpointUrl
string

The partner's OFTP server the platform connects to; oftps:// uses TLS (commonly port 6619).

Pattern^oftps?://.+
Exampleoftp://oftp.acme.example:3305
exchangeBufferSize
integer (int32)

The size of the exchange buffer in bytes. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSsid
string Required

The platform's own OFTP identifier (SSID) toward this partner. Required on create; a write may not blank it.

Min length1
ExampleO0013000000LOBSTER
maximumProtocolReleaseLevel
string

The highest OFTP protocol release the platform offers. Leaving it out keeps the stored value, null restores the default.

Valid values[ "V1_2", "V1_3", "V1_4", "V2_0" ]
Default"V2_0"
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
oftp2TslName
string

The name of the trusted service list the partner's certificate is checked against. An empty string restores the default; leaving it out keeps the stored value, null restores it too.

Default"OFTP2"
pendingLocalCertificateId
string

Id of the platform's own certificate (with private key) that takes over as localCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example44
pendingRemoteCertificateId
string

Id of the partner's certificate (public key) that takes over as remoteCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example45
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertSubject
string

The subject of the partner's certificate the platform looks for when remoteCertificateId names none. Leaving it out keeps the stored value, null or an empty string removes it.

ExampleCN=oftp.acme.example
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteSfid
string

The partner's OFTP identifier - the SSID it presents when it connects, which assigns the session to this channel. Must be unique among OFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that no partner presents.

ExampleO0013000000ACME
secureAuthenticationMandatory
boolean

Whether the partner must authenticate securely. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendRestartDisabled
boolean

Whether an interrupted send is never resumed, but started again from the beginning. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signatureAlgorithm
string

The signature algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to SHA1.

Default"SHA1"
Pattern^(SHA1|SHA256|SHA512|SHA3_512)$
strictSfidChecking
boolean

Whether the SFID of every incoming file must match one the partner is allowed to send. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
tlsCipherName
string

The TLS cipher suite to use. An empty string removes the preference; leaving it out keeps the stored value, null resets it to the default.

ExampleTLS_AES_256_GCM_SHA384
userIncomingDirectory
string

The directory on the platform incoming files of this partner go to. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/in
userOutgoingDirectory
string

The directory on the platform outgoing files for this partner are taken from. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/out
x25WindowSize
integer (int32)

The X.25 window size. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
destination
string

Destination SFID (Odette id of the recipient) the file must be addressed to, compared case-insensitively; a trailing * matches every id starting with the text before it. Empty accepts any.

ExampleO0013000000LOB*
fileName
string

Pattern the virtual file (dataset) name must match, case-insensitive: wildcards * and ?, several patterns separated by |, regex:<expression> for a regular expression, and date placeholders like <yyyyMMdd>. addval:<key> takes the pattern from the additional value <key> of the delivering channel.

Default"*.*"
origin
string

Originator SFID (Odette id of the sender) the file must come from, compared case-insensitively; a trailing * matches every id starting with the text before it. Empty accepts any.

processOnLogout
boolean

When true, received files are collected and processed only when the partner ends the OFTP session; when false, each file is processed as soon as it arrives.

Defaultfalse
core.CronImapAgentSettings
object (core.CronImapAgentSettings)
class
string

The type of this object, always core.CronImapAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronImapAgentSettings" ]
channel
object (core.IntegrationPartnerChannelMail)

The Mail partner channel whose mailbox is polled, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type Mail). Checked on write and read back resolved. Server, protocol, login and password come from the channel; host, port and user override them when set. The channel must allow POP3 or IMAP retrieval respectively, otherwise every run fails. Without a channel host and user are required, and the password cannot be set through the API. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelMail. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelMail" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.MailChannelProtocol)

What the channel may be used for: any of SMTP and ASMTP (sending mail, without and with a login) and POP3 and IMAP (fetching mail). At least one must stay allowed (an empty list leaves the stored allowance unchanged), and POP3 and IMAP are mutually exclusive (the editor keeps one); null or left out keeps the stored allowance, which on a new channel permits all four.

Example["SMTP", "IMAP"]
string

A mail protocol the channel may be used with: allowedProtocols of a mail channel.

  • SMTP: SMTP: sending mail without login.
  • ASMTP: ASMTP: sending mail through an SMTP server that requires a login.
  • POP3: POP3: fetching mail from a POP3 mailbox.
  • IMAP: IMAP: fetching mail from an IMAP mailbox.
Valid values[ "SMTP", "ASMTP", "POP3", "IMAP" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing mails; used only when the channel sends encrypted. Not validated on save. null or left out keeps the stored value.

Default"AES"
ExampleAES
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
imapFolder
string

IMAP folder mail is fetched from; a directory set in the IMAP cron job overrides it.

Default"INBOX"
ExampleINBOX/orders
incomingMaxSize
integer (int64)

Largest incoming mail accepted on this channel, in bytes. Must be at most 1073741824 (1024 MB). null (or leaving it out on create) means no limit, and an unlimited channel reads back null.

Minimum1
Example10485760
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

The platform's own mail address on this channel; matched case-insensitively, so an incoming mail is assigned to the channel whatever case it is addressed in, while the address is stored and read back as given. Unless the channel stores its own SMTP or retrieval user name, the platform logs in with this address, so changing it changes that login too. null or left out keeps the stored value.

Exampleedi@lobster.example
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's mail address, stored in lower case; an SMTP response unit sends to it unless the unit names its own receiver. A channel that receives mail should hold exactly one address; this API does not check. Left out, the server fills a placeholder address (mail...@mail.org).

Exampleedi@acme.example
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
retrievalAuthMechanism
string

SASL mechanism for the POP3/IMAP login when mail is fetched through this channel; left out, the mail library negotiates one.

ExampleXOAUTH2
retrievalServerUrl
string

POP3/IMAP server the platform fetches mail from through this channel (pop3://, pop3s://, pop3es://, imap://, imaps:// or imapes://; the s variants are TLS, the es variants STARTTLS). Another scheme is accepted as given and fails when mail is retrieved. null or left out keeps the stored value.

Exampleimaps://mail.acme.example:993
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing mails; used only when the channel sends signed. Not validated on save. null or left out keeps the stored value.

Default"SHA256"
ExampleSHA256
smtpAuthMechanism
string

SASL mechanism for the SMTP login, case-insensitive; OAuth2 tokens are not settable through this API. Left out, the mail library negotiates one.

ExamplePLAIN
smtpServerUrl
string

SMTP server that mails to this partner are sent through (smtp:// default port 25, smtps:// 465, smtpes:// for STARTTLS). A host or port set in the SMTP response unit overrides it.

Pattern^(smtp|smtps|smtpes)://.+
Examplesmtps://mail.acme.example:465
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dir
string

IMAP folder to read; when not empty it overrides the folder set on channel. Date masks and variables are resolved.

ExampleINBOX
dmz
boolean

Not used by POP3 and IMAP: the mail is always fetched directly. Leave it false.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

handleUnknownMailData
string

What happens to a mail body or attachment that no rule in mailDispatchSettings accepts: STORE_UNRESOLVED stores it in the instance's 'unresolved' folder and sends the unresolved-data notification, DISCARD discards it.

Valid values[ "STORE_UNRESOLVED", "DISCARD" ]
Default"STORE_UNRESOLVED"
host
string

Host name of the mail server; overrides the server of channel when set. Empty uses the channel's. Placeholders such as %NAME% are resolved.

Exampleimap.example.com
imapMoveDir
string

IMAP folder the fetched mails are moved to instead of being deleted; it must already exist, otherwise the run fails. Empty deletes fetched mails.

ExampleProcessed
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailDispatchSettings
Array of object (core.MailDispatchRule)

Rules that decide, for the body and for each attachment of a fetched mail, which profile processes it. They are checked in list order and the first matching rule whose profile is usable wins; scoring does not reorder them. Sending the member replaces all rules. Data no rule accepts is handled as handleUnknownMailData says, so an empty list sends everything there; at least one rule is required.

object

One routing rule of a mail agent, an element of mailDispatchSettings of a POP3, IMAP or X.400 agent. The agent checks the rules in list order against the body and against each attachment of a fetched mail, and hands the data to the profile of the first active rule whose criteria all match (contentType, filePattern, channel, sender, to, cc, subject, mimeType) and whose profile is usable. An empty criterion does not filter. Send sender, subject and filePattern explicitly, "" meaning no filter: an omitted one is stored without a value, which the matching does not handle.

class
string

The type of this object, always core.MailDispatchRule. Required where the member it is sent in accepts several types.

Valid values[ "core.MailDispatchRule" ]
active
boolean

false switches the rule off, so it is skipped.

Defaulttrue
cc
string

One mail address that must be among the mail's CC recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
channel
integer (int64)

Id of a partner channel the mail must belong to, checked as matchChannel says; the platform assigns incoming mails to partner channels, and an X.400 mail without one gets the agent's channel. List channels with GET /platform/api/partners/preview/{partnerId}/channels. Stored as sent without any check. 0 does not filter by channel.

Default0
Example4711
contentType
string

Which part of a mail the rule applies to.

Valid values[ "BODY", "ATTACHMENT", "BODY_AND_ATTACHMENT", "NONE" ]
Default"ATTACHMENT"
exactMatchSubject
boolean

true requires the subject to equal subject, ignoring case; false only requires it to contain subject. Not used when subject is a regex: expression.

Defaultfalse
filePattern
string

Pattern the attachment's file name must match (* and ? wildcards ignoring case, | alternatives, regex: regular expressions); * or "" accepts every attachment. Only checked for attachments.

ExampleORDERS_*.edi|INVOIC_*.edi
mailType
string

Kind of agent the rule belongs to. Left out on an existing rule, the stored kind is kept.

Valid values[ "POP3", "IMAP", "X400" ]
Default"POP3"
matchChannel
string

How channel is checked. Only evaluated when channel is not 0.

Valid values[ "POLLING_CHANNEL", "SET_CHANNEL", "OWN_IDENTIFIER", "IGNORE" ]
Default"IGNORE"
mimeType
string

Content type the mail body must have for a body rule, compared case-insensitively with the content types of the body. Only checked for the body (contentType BODY or BODY_AND_ATTACHMENT) and ignored for X.400; without a value no body matches.

Exampletext/plain
profileName
string

Name of the profile that processes the matching data; a profile's id is its name, see GET /platform/api/profiles/preview. Empty means the agent's own profile. The target must belong to the same client, be active, not be a master template and be within its validity period; otherwise the rule is skipped and the next one is tried.

scoring
integer (int64)

Ranking used to sort a rule list by how specific a rule is. The agent ignores it and checks the rules in list order; stored as sent, 0 is fine.

sender
string

Text the sender's address must contain, ignoring case; with mailType X400 an X.400 address the sender must match. "" does not filter.

Example@partner.example
subject
string

Text the subject must contain, ignoring case, or equal with exactMatchSubject; a value starting with regex: is a regular expression the whole subject must match. "" does not filter.

to
string

One mail address that must be among the mail's To recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

Port of the mail server; a value above 0 overrides the port of channel. Omitted on create it is stored as 21, which then overrides the channel's port, so send 0 to use the channel's port.

Example993
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every mail body and attachment to a separate background job and continues at once, so several jobs run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
skipCorruptMail
boolean

true skips a mail that cannot be read or parsed and continues with the next one; false aborts the run at such a mail.

Defaultfalse
supportSMIME
boolean

Stored but not read: S/MIME handling of the fetched mails is always enabled.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
user
string

Login name at the mail server; overrides the retrieval user of channel when set. Empty uses the channel's.

core.CronMongodbAgentSettings
object (core.CronMongodbAgentSettings)
class
string

The type of this object, always core.CronMongodbAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronMongodbAgentSettings" ]
alias
string

Name of the MongoDB connection to read from; it must already exist on the instance and be allowed for the profile's client. @name@ variables are resolved.

collectionName
string

Name of the collection in databaseName to query. @name@ variables are resolved.

Exampleorders
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
databaseName
string

Name of the MongoDB database. @name@ variables are resolved.

Exampleshop
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
jsonType
string

How documents are written as JSON.

Valid values[ "JSON", "BSON" ]
Default"JSON"
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxBatchSize
integer (int32)

With oneDocument: number of documents per array, so each block of that size becomes one job. 0 or 1 puts all documents into one array; ignored when it is not smaller than maxRows.

Default0
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxRows
integer (int32)

Maximum number of documents a find reads per run. 0 or less means no limit.

Default2147483647
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
oneDocument
boolean

true combines the documents of a run into one JSON array [{...}, {...}] processed as a single job (split by maxBatchSize); false processes every document as its own job.

Defaultfalse
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

projection
string

JSON projection for a find that selects the fields to return. Empty returns whole documents. Not used for an aggregation query.

Example{"_id": 0, "orderNo": 1, "total": 1}
query
string

A JSON filter document for a find; empty reads every document. A JSON array instead runs an aggregation pipeline, e.g. [{"$match": {"status": "open"}}], and then projection and the maxRows limit are not applied. @0:t@ inserts the time of the previous run as yyyy-MM-dd'T'HH:mm:ss.SSS'Z', so a run can read only new documents.

Default"{}"
Example{"status": "open"}
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.AmqpV2AgentSettings
object (core.AmqpV2AgentSettings)
class
string

The type of this object, always core.AmqpV2AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AmqpV2AgentSettings" ]
accumulation
object (core.AccumulationSettings)

Message-buffering configuration for this agent; see core.AccumulationSettings. Only acknowledgmentMode IMMEDIATE can have it enabled.

class
string

The type of this object, always core.AccumulationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationSettings" ]
aggregation
string

How the buffered payloads are combined into the job's data when the buffer flushes.

Valid values[ "CONCAT", "CONCAT_SEPARATOR", "XML_WRAP", "JSON_ARRAY", "FINAL_VALUE" ]
Default"CONCAT"
comparators
Array of object (core.AccumulationComparator)

Payload comparisons that flush the buffer early: each entry is checked against the newest message's payload, read as payloadDataType, and entries are OR-composed with each other and with filters, maxCount, maxAgeSeconds and maxTotalBytes - any one of them flushes. Sending the member replaces the whole list.

object

One payload comparison of AccumulationSettings.comparators: operator checked against the newest buffered message's payload, read as payloadDataType, for each of values. Several values are OR-composed for the same operator, e.g. two EQUALS values flush on either.

class
string

The type of this object, always core.AccumulationComparator. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationComparator" ]
operator
string

Comparison to apply: REGEX and CONTAINS need payloadDataType STRING; SMALLER, GREATER, SMALLER_EQUALS and GREATER_EQUALS need BIG_INTEGER, BIG_DECIMAL or DATE; EQUALS and NOT work with every supported payloadDataType. A value that fails to parse as payloadDataType fails the whole check for that message. Required.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values compared against the payload; must not be empty. Compared as text for REGEX and CONTAINS, otherwise parsed as payloadDataType.

string
enabled
boolean

true buffers messages instead of starting a job for each. While false no other member is validated. At least one of maxCount, maxAgeSeconds or maxTotalBytes must then be above 0, else the profile is rejected.

Defaultfalse
filters
Array of object (core.MessageFilter)

Function chain conditions that flush the buffer early, evaluated on the newest message like comparators (see core.MessageFilter), but through a mapping function chain instead of a fixed operator. OR-composed with comparators, maxCount, maxAgeSeconds and maxTotalBytes.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

Which buffered payload is kept when aggregation is FINAL_VALUE; ignored otherwise. MIN, MAX and AVG need payloadDataType BIG_INTEGER or BIG_DECIMAL; LAST works with every payloadDataType.

Valid values[ "MIN", "MAX", "AVG", "LAST" ]
Default"LAST"
maxAgeSeconds
integer (int32)

Seconds since the oldest buffered message that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example60
maxCount
integer (int32)

Number of buffered messages that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example100
maxTotalBytes
integer (int64)

Total buffered payload size in bytes that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example1048576
metadataStrategy
string

Which buffered message's file name, sender and variables the flushed job carries: FIRST or LAST message's, COLLECT_INDEXED all of them with an index suffix, COMMON_ONLY only the values every buffered message agrees on.

Valid values[ "FIRST", "LAST", "COLLECT_INDEXED", "COMMON_ONLY" ]
Default"FIRST"
payloadDataType
string

Type each buffered message's payload is read as for comparators and, with aggregation FINAL_VALUE, for finalValueFunction. comparators only work with STRING, BIG_INTEGER, BIG_DECIMAL or DATE; a finalValueFunction other than LAST needs BIG_INTEGER or BIG_DECIMAL.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
separator
string

Text put between the buffered payloads when aggregation is CONCAT_SEPARATOR; ignored otherwise.

Default","
xmlWrapRootName
string

Name of the root element the buffered payloads are wrapped in when aggregation is XML_WRAP; ignored otherwise. Must not be blank.

Default"concat-root"
acknowledgmentMode
string

When a delivery is settled relative to the job it starts, and whether a reply is produced. Message buffering (accumulation) is only available with IMMEDIATE.

Valid values[ "IMMEDIATE", "AFTER_PROCESSING", "RPC" ]
Default"IMMEDIATE"
alias
string Required

Name of the AMQP v2 connection to receive through; it must exist on the instance and be allowed for the profile's client, otherwise the agent is not started (only logged, the profile still saves). A write that sets an alias outside a restricted client's allow-list is refused, listing the allowed ones. The alias decides the protocol (AMQP 0.9.1, AMQP 1.0 or JMS).

Min length1
amqp091DeclareDurable
boolean

AMQP 0.9.1 only: whether the declared queue/exchange is durable. In destinationType QUEUE it declares the consumed queue durable, in TOPIC it declares both the exchange and amqp091QueueName durable (needs a name then).

Defaultfalse
amqp091ExchangeType
string

AMQP 0.9.1 only, only relevant while consuming via an exchange (destinationType TOPIC): the exchange kind bound with amqp091RoutingKey.

Valid values[ "TOPIC", "DIRECT" ]
amqp091PrefetchCount
integer (int32)

AMQP 0.9.1 only: number of messages the broker may deliver without an acknowledgment. 0 uses the broker default.

Default0
Example10
amqp091QueueName
string

AMQP 0.9.1 only, only for destinationType TOPIC: name of the queue declared and bound to the exchange; empty means a server-named, auto-delete queue. A durable declaration (amqp091DeclareDurable) needs a name, since a server-named queue cannot be durable. %name% constants are resolved.

amqp091RequeueOnFailure
boolean

AMQP 0.9.1 only: whether a nacked message is requeued (true) instead of dead-lettered (false). Only relevant with a synchronous acknowledgmentMode (AFTER_PROCESSING / RPC).

Defaultfalse
amqp091RoutingKey
string

AMQP 0.9.1 only, only for destinationType TOPIC: binding key for the exchange named by destinationName (wildcards * and #). %name% constants are resolved.

Exampleorders.#
clientId
string

The client (AMQP container) id the receiver connections identify themselves with at the broker. Ignored for an AMQP 0.9.1 alias. Pinned on the connection whenever set for AMQP 1.0, only for a durable subscription for JMS (a JMS provider refuses a second connection holding an id already in use). Must be set together with subscriptionName for a durable subscription: the broker identifies it by client id plus subscription name. Must be unique per broker. %name% constants are resolved.

destinationName
string Required

Name of the queue or topic (see destinationType) to consume from. %name% constants are resolved.

Min length1
Exampleorders.in
destinationType
string

What destinationName names.

Valid values[ "QUEUE", "TOPIC" ]
Default"QUEUE"
durableSubscription
boolean

Whether the subscription is durable, i.e. survives times without a connected receiver. Only meaningful for destinationType TOPIC on an AMQP 1.0 or JMS alias; ignored for AMQP 0.9.1 and for destinationType QUEUE. Requires subscriptionName and clientId.

Defaultfalse
factoryName
string

Id (factory name) of the cluster node that receives in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

jmsMessageSelector
string

JMS only: SQL-92 selector expression filtering the received messages. Empty receives all. %name% constants are resolved.

ExampleNewsType = 'Sports'
jmsUnsubscribeOnStop
boolean

JMS only, only with durableSubscription true: whether the durable subscription is removed from the broker when the agent stops, so messages published meanwhile are not kept for it.

Defaultfalse
qualityOfService
string

Delivery guarantee the consumer requests from the broker. A synchronous acknowledgmentMode (AFTER_PROCESSING or RPC) requires AT_LEAST_ONCE.

Valid values[ "AT_LEAST_ONCE", "AT_MOST_ONCE" ]
Default"AT_LEAST_ONCE"
shutdownTimeoutSeconds
integer (int32)

Seconds a synchronous acknowledgmentMode (AFTER_PROCESSING / RPC) waits for the in-flight job on shutdown/restart before it is cut off. 0 or negative falls back to 30. Ignored for acknowledgmentMode IMMEDIATE.

Example30
subscriptionName
string

Name identifying the durable subscription on the broker, scoped to clientId: together they must be unique per broker. Only used when durableSubscription is true. %name% constants are resolved.

core.PortalAgentSettings
object (core.PortalAgentSettings)
class
string

The type of this object, always core.PortalAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.PortalAgentSettings" ]
allowAnonymousAccess
boolean

true lets anyone open the form without logging in; roles and userIds must then be empty. Switching it back to false later does not remove the public access from an existing form.

Defaultfalse
eventTimeout
integer (int32)

Milliseconds the form in the browser waits after an input before it requests dependent (dynamic) content from the server.

Default500
Example500
form
string

Class name of the form renderer. Stored only: the DataCockpit form is built from the profile's source structure, not from this value. Leave the default.

Default"de.lobster.data.portal.forms.BaseForm"
image
string

The form's image, Base64-encoded; empty removes it. null keeps the stored value.

localizedProfileNames
object

map

noLogs
boolean

true hides the job logs from the form's users.

Defaultfalse
readOnly
boolean

true makes the form a mask without a save option, e.g. a search mask.

Defaultfalse
roles
Array of string

DataCockpit role names whose users may open the form. Copied into the form's access assignments only when the DataCockpit form is first created for the profile; later changes do not alter an existing form. Must be empty while allowAnonymousAccess is true.

string
synchronous
boolean

true runs the profile while the user waits and reports success or the error back to the form; false starts it in the background and returns at once, so errors are not shown to the user.

Defaulttrue
upload
boolean

true turns the form into a pure file upload: the user uploads data instead of filling in fields.

Defaultfalse
userIds
Array of string

DataCockpit users who may open the form, each given by user id or login name. Like roles, only applied when the DataCockpit form is first created; must be empty while allowAnonymousAccess is true.

string
core.CronFileAgentSettings
object (core.CronFileAgentSettings)
class
string

The type of this object, always core.CronFileAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronFileAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
channel
object (core.IntegrationPartnerChannelSMB)

The SMB partner channel the directory is read through, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type SMB). Checked on write and read back resolved. Leave it out for a local directory; left out on an update, the stored channel stays. A channel that was deleted reads as no channel.

class
string

The type of this object, always core.IntegrationPartnerChannelSMB. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSMB" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string Required

Host name or IP address of the SMB file server - no scheme, port or path. Replaces <SMBHOST> in the file path of a cron job or response unit that uses this channel. Required on create; a write may not blank it.

Min length1
Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplefileserver.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
share
string

Share name, stored as the path of the channel's smb:// address (a leading / is added). Needs host. The file cron job and response unit take only the host from the channel, so name the share in their file path as well.

Exampleedi
smbDomain
string Required

Windows domain the SMB login authenticates in; a domain set in the cron job or response unit wins. Required on create; a write may not blank it.

Min length1
ExampleACME
smbUser
string Required

Account used during SMB authentication, next to smbDomain. Required on create; a write may not blank it. null or left out keeps the stored value.

Min length1
Examplesvc-edi
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes: right away when they are skipped (acceptEmptyFiles false), and after pickup when they are processed, even if fileHandling is NONE.

Defaultfalse
dirIsMounted
boolean

true treats a directory that does not exist as empty: it is only noted in the trace log and the run does not fail, e.g. for a network share that is not always mounted.

Defaultfalse
directory
string

Directory on the Lobster server to scan; separate several with ;. Date masks such as <yyyyMMdd>, %NAME% constants and @MSG_CALL_<name>@ variables are resolved. A missing directory fails the run unless dirIsMounted is true; one that cannot be read is logged as an error and skipped. If the instance restricts file access with a path whitelist, the directory must be on it.

Example/data/in/orders
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

excludeHour
integer (int32)

Hours part of an age limit that excludeMinute and excludeSecond complete: files last modified longer ago than this duration are skipped. All three 0 disables the limit. fileOlderThan flips it to skip files younger than the duration instead.

Default0
Example24
excludeMinute
integer (int32)

Minutes part of the age limit described at excludeHour.

Default0
excludeSecond
integer (int32)

Seconds part of the age limit described at excludeHour.

Default0
factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file once it has been picked up. RENAME is not supported by these agents and behaves like NONE. DELETE needs write access to the file and its directory; a file it cannot delete is skipped with an error.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
fileOlderThan
boolean

Whether the age limit of excludeHour, excludeMinute and excludeSecond skips files modified longer ago (true) or files younger than the duration (false). null resets it.

Defaulttrue
filePattern
string

Pattern the names of the files to pick up must match. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and regex2: makes the whole value one regular expression. <yyyyMMdd> or @yyyyMMdd@ insert the current date, %NAME% a constant, @MSG_CALL_<name>@ a trigger variable. Names starting with . are always ignored; the file agent fails the run if the pattern is empty.

Default"*"
ExampleORDERS_*.xml|INVOIC_*.xml
fileSortAscending
boolean

true sorts ascending (A to Z, oldest first), false descending. Only used when the files are sorted, see fileSortItem.

Defaulttrue
fileSortItem
string

Order in which the files of a run are processed, in the direction of fileSortAscending. The cloud storage agent always sorts: by name for NAME, by last-modified time otherwise.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
lockFile
string

Full path of a lock file. If it exists when a run starts, the run is skipped with a log entry; otherwise the agent creates it for the duration of the run and deletes it afterwards, so runs and a cooperating writer do not overlap. Date masks and variables are resolved. Empty disables it.

Example/data/in/orders/.lock
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

readTempFiles
boolean

true also picks up files whose name starts with ~, which the file agent otherwise skips as temporary files. The cloud storage agent does not evaluate it and never skips such files.

Defaultfalse
recursiveDir
boolean

true also picks up matching files from all sub-directories of the scanned directories, at any depth. Ignored by the file agent when singleFile is true.

Defaultfalse
runInBackground
boolean

true hands every file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
singleFile
boolean

true treats filePattern as one exact file name looked up in each directory instead of a pattern, and sub-directories are not scanned.

Defaultfalse
smbDomain
string

Windows domain of the login for an SMB share the directory is on. null resets it.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.CronSqlAgentSettings
object (core.CronSqlAgentSettings)
class
string

The type of this object, always core.CronSqlAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSqlAgentSettings" ]
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
encodeBlob
boolean

true Base64-encodes the values of BLOB columns in the result.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
sqlTestTimeout
integer (int32)

Seconds the test functions ("Test SQL", structure creation, the config assistant) may take; not used by the scheduled runs.

Default10
Example10
sqlTimeout
integer (int32)

Maximum lifetime in seconds of the database session a run executes the statement in; 0 means no limit.

Default0
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.CronSftpAgentSettings
object (core.CronSftpAgentSettings)
class
string

The type of this object, always core.CronSftpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSftpAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
as400Member
boolean

true also deletes or renames the AS/400 main file when a member file is deleted or renamed after download (a.file/b.mbr -> a.file, a.b -> a).

Defaultfalse
channel
object (core.IntegrationPartnerChannelSFTP)

The SFTP partner channel to fetch from, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type SFTP). Checked on write and read back resolved. The channel must allow SFTP, otherwise every run fails with a subtype mismatch. An agent created through the API keeps the internal default port 21, which overrides the channel's port (usually 22), so the connection fails until port: 0 is sent to use the channel's port. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelSFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.SshProtocol)

Protocols the partner may log in to the platform's SSH server with: any of SCP, SFTP, SSH (remote command execution). At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits SCP and SFTP but not SSH.

Example["SFTP"]
string

An SSH flavour the partner may use to log in to the platform's SFTP server: allowedProtocols of an SFTP channel.

  • SCP: SCP: file copy over SSH.
  • SFTP: SFTP: file transfer over SSH.
  • SSH: SSH: remote command execution. Not allowed on a new channel.
Valid values[ "SCP", "SFTP", "SSH" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's SFTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplesftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
keyFingerprint
string

Fingerprint of the host key the partner's SFTP server must present when the platform connects; compared case-insensitively together with keyType, and the connection fails on a mismatch. Left blank, any host key is accepted.

ExampleSHA256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU
keyType
string

Type of the host key the partner's SFTP server must present, as the SSH library reports it; checked together with keyFingerprint.

Examplessh-ed25519
localId
string

User name the platform logs in with at the partner's SFTP server (SSH login); its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
port
integer (int32)

TCP port of the partner's SFTP server. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Default22
Example22
privateKeyId
string

Id of the local certificate holding the key pair the platform authenticates with (public-key authentication) when it connects to the partner's SFTP server. Must reference an existing certificate with an SSH common name.

Pattern^\d+$
Example42
remoteCertificateIds
Array of string

Ids of the partner's certificates (public keys) in the certificate store, one of which the partner may authenticate with when it logs in to the platform's SFTP server by public key. Each must reference an existing certificate. Leaving it out keeps the stored list, null or an empty list removes it.

Example["43"]
string
remoteId
string

User name the partner logs in with on the platform's SFTP server; its password is remotePassword, its public keys are remoteCertificateIds. Must be unique among all SFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password) Required

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's SFTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. Without one the partner's file paths resolve against the server's working directory. Left out or blank on create, the server picks <client default channel directory>ssh/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ssh/acme
virtualRoot
boolean

Whether the partner, logged in on the platform's SFTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. null or left out keeps the stored value; a new channel shows the real path.

whiteListAddresses
Array of string

Addresses the partner may log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
wireCharset
string

Character set the SFTP/SCP server and client use for file names on the wire, e.g. ISO-8859-1. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it so the SSH library's default applies.

ExampleISO-8859-1
controlSuffix
string

Text that turns a data file name into the name of its control file, see ftpControlNameType; compared case-insensitively. Placeholders such as <yyyyMMdd> are resolved. Required when useControlFile is true.

Example.ok
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes from the server: skipped ones right away, and processed ones (with acceptEmptyFiles) even if fileHandling is NONE or RENAME.

Defaultfalse
deleteMasterCtrlFile
boolean

true deletes the master control file once its directory has been processed. Only used with masterCtrlFile.

Defaulttrue
dir
string

Directory on the partner's server to fetch from; separate several with ;, each is read in its own connection. Empty reads the login directory. %NAME% constants, @MSG_CALL_<name>@ trigger variables and date masks such as <yyyyMMdd> are resolved. A directory that cannot be entered is logged and skipped.

Example/out/orders
dmz
boolean

true fetches through the Lobster DMZ server: the DMZ connects to the partner, and the internal server then collects the files from the DMZ. Needs channel and a DMZ set up for the instance; file filter classes of the profile are not applied this way.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fetchControlFile
boolean

true also downloads each data file's control file and passes its content to the mapping as the variable VAR_SYS_CTRL_FILE, decoded with the profile's encoding. Set it only together with useControlFile: with a controlSuffix but useControlFile false the downloads fail.

Defaultfalse
fetchMasterCtrlFile
boolean

true also processes the master control file itself as data, after the other files of its directory. Only used with masterCtrlFile.

Defaultfalse
fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file on the partner's server right after its download, before the data is processed: NONE leaves it (so it is fetched again next run unless the profile skips already received files), RENAME renames or moves it as fileRename says.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. A plain pattern is sent with the server's directory listing, so the server's wildcard rules apply; | separates alternatives that are listed one by one, and an alternative starting with regex: (or a whole value starting with regex2:) is a regular expression the agent applies to the full listing itself. <yyyyMMdd>, %NAME% and @MSG_CALL_<name>@ are resolved first.

Default"*"
ExampleORDERS_*|INVOIC_*
fileRename
string

New name of a fetched file when fileHandling is RENAME; a path moves it. <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. Empty leaves the file in place.

Exampledone/<file>
fileSortAscending
boolean

true sorts A to Z, false Z to A, ignoring case. Only used when fileSortItem is NAME.

Defaulttrue
fileSortItem
string

NAME processes the fetched files in file-name order (direction fileSortAscending); any other value keeps the order in which the server lists them.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
ftpControlNameType
string

How controlSuffix forms a control file name: SUFFIX appends it to the data file name (orders.xml + .ok = orders.xml.ok), PREFIX puts it in front (ok_ + orders.xml = ok_orders.xml). Only used with useControlFile.

Valid values[ "SUFFIX", "PREFIX" ]
Default"SUFFIX"
ftpPassive
boolean

true opens the FTP data connection in passive mode, false in active mode. Ignored for SFTP.

Defaulttrue
ftpSiteCommands
string

Extra commands for the server, one per line. A line starting with before: is sent right after login, before the listing; the other lines after the directory has been processed, before logout. For FTP each line goes out as SITE <command> (a rfc: prefix sends it without SITE); SFTP only supports chmod <octal> <path>. @...@ variables are resolved.

ftpTransferMode
boolean

true downloads in FTP ASCII mode, where the server may convert line endings; false in binary mode, which keeps the bytes unchanged. Ignored for SFTP.

Defaultfalse
host
string

FTP server host; non-empty overrides the channel's. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
keepLocalFtpFileIfDeleteWasUnsuccessful
boolean

true: when deleting or renaming a file on the server fails after its download, the downloaded copy is kept in the server's temporary directory and its path logged, instead of being discarded; the file is not processed in either case. For servers that remove fetched files themselves and refuse client deletes.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
masterCtrlFile
string

Name of a master control file that must exist before anything is fetched: without it in the first directory of dir the run stops (see masterCtrlFileInSubDir). No wildcards (a * fails the run); date masks and variables are resolved. Empty disables it. Do not combine with useControlFile.

Exampleready.flg
masterCtrlFileInSubDir
boolean

false: only the first directory in dir must hold masterCtrlFile, and without it the whole run stops. true: every directory needs its own master control file, and a directory without one is skipped.

Defaultfalse
maxFilesPerBatch
integer (int32)

Maximum number of files fetched per run, counted over all directories; the rest waits for the next run. 0 means no limit.

Default0
Example100
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

FTP server port; above 0 overrides the channel's. null keeps the stored value.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every downloaded file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
useControlFile
boolean

true fetches a data file only when its control file (see controlSuffix) exists next to it. Control files are never processed as data, and they are deleted or renamed together with their data file. A control file left without its data file fails the run with "Stale control files found"; with an empty controlSuffix every file counts as a control file, so the run always fails. Do not combine with masterCtrlFile.

Defaultfalse
useFtpShortList
boolean

true lists directories with the quick name listing, which does not tell files from sub-directories; false requests the full listing and keeps files only. Ignored for SFTP.

Defaulttrue
core.SolutionAgentSettings
object (core.SolutionAgentSettings)
class
string

The type of this object, always core.SolutionAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SolutionAgentSettings" ]
acceptHttpDelete
boolean

true lets DELETE calls reach this endpoint (without body; the job gets a placeholder document).

Defaultfalse
acceptHttpGet
boolean

true lets GET calls reach this endpoint (no body; the job gets a placeholder document).

Defaultfalse
acceptHttpHead
boolean

true lets HEAD calls reach this endpoint (no body; the job gets a placeholder document).

Defaultfalse
acceptHttpPatch
boolean

true lets PATCH calls reach this endpoint; the request body is the job's input.

Defaultfalse
acceptHttpPost
boolean

true lets POST calls reach this endpoint; the request body is the job's input.

Defaulttrue
acceptHttpPut
boolean

true lets PUT calls reach this endpoint; the request body is the job's input.

Defaultfalse
channelIds
Array of integer

Ids of the partners' HTTP channels allowed to call this endpoint; list them with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). When set, a caller must authenticate as one of these channels, else it gets 401. Empty requires no authentication; left out, the stored list stays (none on create).

integer (int64)
mimeType
string

Content type of the answer to the caller.

Default"text/html"
Exampleapplication/json
params
Array of object (core.HttpAgentParam)

Elements named to match one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other element is unaffected.

object

A request parameter a call must carry for this profile to be chosen; one element of params of an HTTP or data-product input agent. A call without it, or with a value not listed, does not reach this profile. Not needed just to read a parameter: every query parameter of a call is available as the variable MSG_CALL_<NAME>.

class
string

The type of this object, always core.HttpAgentParam. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentParam" ]
name
string Required

Name of the query or form parameter; compared case-insensitively. %NAME% constants are resolved.

Min length1
Examplemode
values
Array of string

Accepted values; the call's value must equal one of them exactly (case-sensitive), e.g. ["fast", "full"]. * accepts any value, regex:<pattern> a value the whole pattern matches, e.g. regex:[0-9]+; %NAME% constants are resolved. An empty list never matches, so the profile becomes unreachable; use ["*"] to require only the parameter's presence.

string
restUrlPlaceholder
string

Names for path segments after url. The endpoint only evaluates them in REST mode, which a data-product agent never switches on: calls must hit url exactly and no path variable is set.

Example{petId}
solutionName
string

Name of the data product this endpoint implements. Not read by the running endpoint.

swaggerPath
string

Path of the implemented operation in that OpenAPI definition. Not read by the running endpoint.

Example/pets/{petId}
swaggerUrl
string

URL of the data product's OpenAPI definition the operation was imported from. Not read by the running endpoint, and setting it here imports nothing.

url
string

Path the endpoint listens on, appended to <instance>/dw/Request/. Leading and trailing / do not matter, the rest must match exactly. Keep it unique among active HTTP and data-product profiles.

Examplepets
core.CronX400AgentSettings
object (core.CronX400AgentSettings)
class
string

The type of this object, always core.CronX400AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronX400AgentSettings" ]
channel
object (core.IntegrationPartnerChannelX400)

The X.400 partner channel whose mailbox is polled, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type X400). Checked on write and read back resolved. Required: without it every run fails with "X.400 channel not set!". A fetched mail that carries no partner channel of its own is assigned to this one. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelX400. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelX400" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localId
string

The platform's own O/R address toward this partner: the sender of messages sent through this channel (unless the response unit names one), and incoming messages must be addressed to it.

ExampleC=DE;A=VIAT;O=LOBSTER;S=EDI
maximumTpduSize
integer (int32)

The largest TPDU (transport data unit) in bytes the X.400 client uses. 0 restores the default; leaving it out keeps the stored value, null restores it too.

Minimum0
Default1024
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
presentationSelector
string

Presentation selector the X.400 client addresses on the X.400 server. Left out, the client's default applies; [empty] sends an explicitly empty value.

remoteId
string

The partner's O/R address: the receiver of messages sent through this channel (unless the response unit names one), and an incoming message is assigned to this channel by its sender address (compared in upper case). Left out, the server fills a placeholder address (S=dummy;A=VIAT;C=DE;O=...).

ExampleC=DE;A=VIAT;O=ACME;S=EDI
serverAddressFiltering
boolean

Whether the X.400 mailbox can filter the messages it hands out by address. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sessionSelector
string

Session selector the X.400 client addresses on the X.400 server. Left out, the client's default applies; [empty] sends an explicitly empty value.

transportAccessPoint
string

Transport access point (TSAP) the X.400 client sends when connecting to the X.400 server. Left out, the client's default applies; [empty] sends an explicitly empty value.

uafiConfigDirectory
string

Configuration directory of the legacy UAFI X.400 interface. Stored only: the editor does not show it and the built-in X.400 client does not use it.

uafiInDirectory
string

Incoming directory of the legacy UAFI X.400 interface. Stored only: the editor does not show it and the built-in X.400 client does not use it.

uafiOutDirectory
string

Outgoing directory of the legacy UAFI X.400 interface. Stored only: the editor does not show it and the built-in X.400 client does not use it.

cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dmz
boolean

true fetches the mails through the Lobster DMZ server instead of directly.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

filterOnlyNewX400
boolean

true fetches only unread mails, false all mails in the mailbox.

Defaultfalse
filterX400Addresses
boolean

true restricts polling to the X.400 addresses of channel and of the partners the rules in mailDispatchSettings name, by their sender or channel.

Defaultfalse
filterX400Date
boolean

true fetches only mails received after the previous run; that time is updated after every successful fetch.

Defaultfalse
handleUnknownMailData
string

What happens to a mail body or attachment that no rule in mailDispatchSettings accepts.

Valid values[ "STORE_UNRESOLVED", "DISCARD" ]
Default"STORE_UNRESOLVED"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailDispatchSettings
Array of object (core.MailDispatchRule)

Rules that decide, for the body and for each attachment of a fetched mail, which profile processes it. They are checked in list order and the first matching rule whose profile is usable wins; scoring does not reorder them. Sending the member replaces all rules; data no rule accepts is handled as handleUnknownMailData says. For X.400 a rule's sender is compared as an X.400 address, and to and cc should stay empty: bodies and attachments of X.400 mails are matched without recipients, so a rule that sets them never takes them.

object

One routing rule of a mail agent, an element of mailDispatchSettings of a POP3, IMAP or X.400 agent. The agent checks the rules in list order against the body and against each attachment of a fetched mail, and hands the data to the profile of the first active rule whose criteria all match (contentType, filePattern, channel, sender, to, cc, subject, mimeType) and whose profile is usable. An empty criterion does not filter. Send sender, subject and filePattern explicitly, "" meaning no filter: an omitted one is stored without a value, which the matching does not handle.

class
string

The type of this object, always core.MailDispatchRule. Required where the member it is sent in accepts several types.

Valid values[ "core.MailDispatchRule" ]
active
boolean

false switches the rule off, so it is skipped.

Defaulttrue
cc
string

One mail address that must be among the mail's CC recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
channel
integer (int64)

Id of a partner channel the mail must belong to, checked as matchChannel says; the platform assigns incoming mails to partner channels, and an X.400 mail without one gets the agent's channel. List channels with GET /platform/api/partners/preview/{partnerId}/channels. Stored as sent without any check. 0 does not filter by channel.

Default0
Example4711
contentType
string

Which part of a mail the rule applies to.

Valid values[ "BODY", "ATTACHMENT", "BODY_AND_ATTACHMENT", "NONE" ]
Default"ATTACHMENT"
exactMatchSubject
boolean

true requires the subject to equal subject, ignoring case; false only requires it to contain subject. Not used when subject is a regex: expression.

Defaultfalse
filePattern
string

Pattern the attachment's file name must match (* and ? wildcards ignoring case, | alternatives, regex: regular expressions); * or "" accepts every attachment. Only checked for attachments.

ExampleORDERS_*.edi|INVOIC_*.edi
mailType
string

Kind of agent the rule belongs to. Left out on an existing rule, the stored kind is kept.

Valid values[ "POP3", "IMAP", "X400" ]
Default"POP3"
matchChannel
string

How channel is checked. Only evaluated when channel is not 0.

Valid values[ "POLLING_CHANNEL", "SET_CHANNEL", "OWN_IDENTIFIER", "IGNORE" ]
Default"IGNORE"
mimeType
string

Content type the mail body must have for a body rule, compared case-insensitively with the content types of the body. Only checked for the body (contentType BODY or BODY_AND_ATTACHMENT) and ignored for X.400; without a value no body matches.

Exampletext/plain
profileName
string

Name of the profile that processes the matching data; a profile's id is its name, see GET /platform/api/profiles/preview. Empty means the agent's own profile. The target must belong to the same client, be active, not be a master template and be within its validity period; otherwise the rule is skipped and the next one is tried.

scoring
integer (int64)

Ranking used to sort a rule list by how specific a rule is. The agent ignores it and checks the rules in list order; stored as sent, 0 is fine.

sender
string

Text the sender's address must contain, ignoring case; with mailType X400 an X.400 address the sender must match. "" does not filter.

Example@partner.example
subject
string

Text the subject must contain, ignoring case, or equal with exactMatchSubject; a value starting with regex: is a regular expression the whole subject must match. "" does not filter.

to
string

One mail address that must be among the mail's To recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every mail body and attachment to a separate background job and continues at once, so several jobs run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
x400DoNotDelete
boolean

true leaves fetched mails in the X.400 mailbox; false deletes them once fetched, unless an instance-wide setting keeps them.

Defaultfalse
core.CronFtpAgentSettings
object (core.CronFtpAgentSettings)
class
string

The type of this object, always core.CronFtpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronFtpAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
as400Member
boolean

true also deletes or renames the AS/400 main file when a member file is deleted or renamed after download (a.file/b.mbr -> a.file, a.b -> a).

Defaultfalse
channel
object (core.IntegrationPartnerChannelFTP)

The FTP partner channel to fetch from; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type FTP). Checked on write and read back resolved. Host, port, login and password come from the channel's own-identity settings. Pitfall: an agent created through the API keeps the internal default port 21, which overrides the channel's port; send port: 0 to use the channel's port. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.FtpProtocol)

FTP flavours the partner may log in to the platform's FTP server with: any of FTP, FTPS_EXPLICIT, FTPS_IMPLICIT. At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits all three.

Example["FTPS_EXPLICIT", "FTPS_IMPLICIT"]
string

An FTP flavour the partner may use to log in to the platform's FTP server: allowedProtocols of an FTP channel.

  • FTP: Plain FTP, unencrypted.
  • FTPS_EXPLICIT: FTPS explicit: the connection starts plain and upgrades to TLS (AUTH TLS).
  • FTPS_IMPLICIT: FTPS implicit: TLS from the first byte.
Valid values[ "FTP", "FTPS_EXPLICIT", "FTPS_IMPLICIT" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's FTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Exampleftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

User name the platform logs in with at the partner's FTP server; its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
onlyHome
boolean

Whether the partner, logged in on the platform's FTP server as remoteId, is confined to its home directory (remotePath) and cannot change to a directory above it. null or left out keeps the stored value; a new channel is not confined.

port
integer (int32)

TCP port of the partner's FTP server; left out, the address carries no port. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Example21
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

User name the partner logs in with on the platform's FTP server; its password is remotePassword. Must be unique among all FTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password) Required

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's FTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. The FTP server refuses every login to a channel without one. Left out or blank on create, the server picks <client default channel directory>ftp/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ftp/acme
reuseSslSession
boolean

Whether the control connection's TLS session is reused for the data connections of an FTPS transfer when the platform connects to the partner; some servers refuse a data connection without it. Leaving it out keeps the stored value, null resets it to true; a new channel reuses the session.

Defaulttrue
virtualRoot
boolean

Whether the partner, logged in on the platform's FTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. Leaving it out keeps the stored value, null resets it to false; a new channel shows the real path.

Defaultfalse
whiteListAddresses
Array of string

Addresses the partner may log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
controlSuffix
string

Text that turns a data file name into the name of its control file, see ftpControlNameType; compared case-insensitively. Placeholders such as <yyyyMMdd> are resolved. Required when useControlFile is true.

Example.ok
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes from the server: skipped ones right away, and processed ones (with acceptEmptyFiles) even if fileHandling is NONE or RENAME.

Defaultfalse
deleteMasterCtrlFile
boolean

true deletes the master control file once its directory has been processed. Only used with masterCtrlFile.

Defaulttrue
dir
string

Directory on the partner's server to fetch from; separate several with ;, each is read in its own connection. Empty reads the login directory. %NAME% constants, @MSG_CALL_<name>@ trigger variables and date masks such as <yyyyMMdd> are resolved. A directory that cannot be entered is logged and skipped.

Example/out/orders
dmz
boolean

true fetches through the Lobster DMZ server: the DMZ connects to the partner, and the internal server then collects the files from the DMZ. Needs channel and a DMZ set up for the instance; file filter classes of the profile are not applied this way.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fetchControlFile
boolean

true also downloads each data file's control file and passes its content to the mapping as the variable VAR_SYS_CTRL_FILE, decoded with the profile's encoding. Set it only together with useControlFile: with a controlSuffix but useControlFile false the downloads fail.

Defaultfalse
fetchMasterCtrlFile
boolean

true also processes the master control file itself as data, after the other files of its directory. Only used with masterCtrlFile.

Defaultfalse
fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file on the partner's server right after its download, before the data is processed: NONE leaves it (so it is fetched again next run unless the profile skips already received files), RENAME renames or moves it as fileRename says.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. A plain pattern is sent with the server's directory listing, so the server's wildcard rules apply; | separates alternatives that are listed one by one, and an alternative starting with regex: (or a whole value starting with regex2:) is a regular expression the agent applies to the full listing itself. <yyyyMMdd>, %NAME% and @MSG_CALL_<name>@ are resolved first.

Default"*"
ExampleORDERS_*|INVOIC_*
fileRename
string

New name of a fetched file when fileHandling is RENAME; a path moves it. <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. Empty leaves the file in place.

Exampledone/<file>
fileSortAscending
boolean

true sorts A to Z, false Z to A, ignoring case. Only used when fileSortItem is NAME.

Defaulttrue
fileSortItem
string

NAME processes the fetched files in file-name order (direction fileSortAscending); any other value keeps the order in which the server lists them.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
ftpControlNameType
string

How controlSuffix forms a control file name: SUFFIX appends it to the data file name (orders.xml + .ok = orders.xml.ok), PREFIX puts it in front (ok_ + orders.xml = ok_orders.xml). Only used with useControlFile.

Valid values[ "SUFFIX", "PREFIX" ]
Default"SUFFIX"
ftpPassive
boolean

true opens the FTP data connection in passive mode, false in active mode. Ignored for SFTP.

Defaulttrue
ftpSiteCommands
string

Extra commands for the server, one per line. A line starting with before: is sent right after login, before the listing; the other lines after the directory has been processed, before logout. For FTP each line goes out as SITE <command> (a rfc: prefix sends it without SITE); SFTP only supports chmod <octal> <path>. @...@ variables are resolved.

ftpTransferMode
boolean

true downloads in FTP ASCII mode, where the server may convert line endings; false in binary mode, which keeps the bytes unchanged. Ignored for SFTP.

Defaultfalse
ftps
boolean

true fetches over FTPS (FTP over TLS) instead of plain FTP. null keeps the stored value (plain FTP on create).

Defaultfalse
host
string

FTP server host; non-empty overrides the channel's. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
keepLocalFtpFileIfDeleteWasUnsuccessful
boolean

true: when deleting or renaming a file on the server fails after its download, the downloaded copy is kept in the server's temporary directory and its path logged, instead of being discarded; the file is not processed in either case. For servers that remove fetched files themselves and refuse client deletes.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
masterCtrlFile
string

Name of a master control file that must exist before anything is fetched: without it in the first directory of dir the run stops (see masterCtrlFileInSubDir). No wildcards (a * fails the run); date masks and variables are resolved. Empty disables it. Do not combine with useControlFile.

Exampleready.flg
masterCtrlFileInSubDir
boolean

false: only the first directory in dir must hold masterCtrlFile, and without it the whole run stops. true: every directory needs its own master control file, and a directory without one is skipped.

Defaultfalse
maxFilesPerBatch
integer (int32)

Maximum number of files fetched per run, counted over all directories; the rest waits for the next run. 0 means no limit.

Default0
Example100
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

FTP server port; above 0 overrides the channel's. null keeps the stored value.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every downloaded file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
useControlFile
boolean

true fetches a data file only when its control file (see controlSuffix) exists next to it. Control files are never processed as data, and they are deleted or renamed together with their data file. A control file left without its data file fails the run with "Stale control files found"; with an empty controlSuffix every file counts as a control file, so the run always fails. Do not combine with masterCtrlFile.

Defaultfalse
useFtpShortList
boolean

true lists directories with the quick name listing, which does not tell files from sub-directories; false requests the full listing and keeps files only. Ignored for SFTP.

Defaulttrue
core.KafkaAgentSettings
object (core.KafkaAgentSettings)
class
string

The type of this object, always core.KafkaAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.KafkaAgentSettings" ]
alias
string

Name of the Kafka connection (bootstrap servers, security settings) to consume through; it must exist on the instance and be allowed for the profile's client, otherwise the agent is not started.

assigned
boolean

When true, the agent reads the partitions listed in assignmentList of topicName directly instead of joining the consumer group (no rebalancing). The list must not be empty, otherwise the agent stops; a regex: topic is not supported. After a polling error the agent reconnects with a normal group subscription.

Defaultfalse
assignmentList
Array of integer

Partition numbers of topicName the agent reads when assigned is true. Ignored otherwise. Empty by default.

integer (int32)
binaryConverterClassName
string

Java class name of a custom binary converter, meant for complexDataType BINARY. Stored, but the Kafka agent does not call it.

clientId
string

Kafka client.id of the consumer; %name% constants are resolved. Empty: an id generated from the server id, the profile name and topicName.

commitEach
boolean

When true, the offset of each record is committed right after the record was handed on; when false, offsets are committed every commitInterval records. Either way the commit does not wait for the job's result; all pending offsets are committed when the agent stops.

Defaulttrue
commitInterval
integer (int32)

With commitEach false, the consumed offsets are committed to the broker every this many records (and when the agent stops). Must be at least 1; 0 makes every commit fail.

Default10
Example10
complexDataType
string

Structured payload type. Omit it for plain text or numbers read as genericDataType.

Valid values[ "XML", "JSON", "BINARY" ]
consumerProperties
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key, sasl.jaas.config, basic.auth.user.info, ssl.keystore.key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

dataType
string

Deserializer for the record value, i.e. the data the job receives. STRING, and the numeric and UUID types, are handed on as text in the profile's encoding, BYTES as the raw bytes; AVRO (Confluent) and AVRO_APICURIO (Apicurio) are decoded with the schema registry from schemaRegistryUrl or registryChannelId and handed on as JSON text. Records that do not match pause the agent for 120 seconds each time and have to be removed from the topic.

Valid values[ "INTEGER", "LONG", "FLOAT", "DOUBLE", "BYTES", "STRING", "UUID", "AVRO", "AVRO_APICURIO" ]
Default"STRING"
delimiter
string

Text put between the records when finalValueFunction is ALL and complexDataType is not set; NL stands for a line break (CRLF). Empty: the records are concatenated without separator.

Example,
factoryName
string

Id (factory name) of the cluster node that runs this agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

filters
Array of object (core.MessageFilter)

Function chain that decides, for each record that arrives while the buffer is not yet full, whether the collected records (including this one) are handed on early: the chain runs on the record text and the buffer is forwarded when its last result is true. It does not drop records. Only evaluated with messageBufferSize above 1, only on the records messageIntervalCheck selects and only when mqttConditions is absent; an empty mqttConditions list disables it too.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

What the job receives from the collected records. Without complexDataType, MIN, MAX and AVG need a numeric genericDataType (INTEGER, FLOAT, BIG_DECIMAL or BIG_INTEGER) and ALL works for STRING, INTEGER, FLOAT, BIG_DECIMAL and BIG_INTEGER; any other combination produces no job. With complexDataType JSON or XML, ALL combines the records (see there) and every other value passes the last record on.

Valid values[ "MIN", "MAX", "AVG", "ALL", "LAST" ]
Default"LAST"
genericDataType
string

Type the whole record value is read as for mqttConditions and finalValueFunction. mqttConditions support STRING, INTEGER, DOUBLE, DATE (yyyy-MM-dd), FLOAT and BIG_INTEGER. A value that does not parse as the type fails the check. Keep STRING when complexDataType is set.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
keyType
string

Deserializer for the record key; BYTES keys are decoded as text in the profile's encoding. The key reaches the mapping as variable MSG_CALL_KAFKA_KEY. A type that does not match the records makes them fail to deserialize, and the agent then pauses for 120 seconds each time.

Valid values[ "INTEGER", "LONG", "FLOAT", "DOUBLE", "BYTES", "STRING", "UUID", "AVRO", "AVRO_APICURIO" ]
Default"STRING"
messageBufferSize
integer (int32)

Number of records collected before they are handed on together as one job, combined by finalValueFunction. 1 starts one job per record; timeout, mqttConditions and filters only have an effect above 1. Records still buffered when the agent stops are processed.

Default1
messageIntervalCheck
integer (int32)

mqttConditions and filters are only evaluated when the number of buffered records is a multiple of this value; 1 checks every record. Must be at least 1: 0 makes the processing of every record fail.

Default1
mqttConditions
Array of object (core.MqttConditionEntry)

Conditions that hand the collected records on early: when a record that arrives before the buffer is full matches any value of any entry, the buffer including this record is forwarded. The whole value is compared, read as genericDataType; entries are OR-linked. They do not drop records. Only evaluated with messageBufferSize above 1 and on the records messageIntervalCheck selects; when present (even as an empty list), filters are ignored.

object

One entry of mqttConditions of an MQTT, Kafka or AMQP (Legacy) agent: a comparison (condition) and the values the whole received message is compared with, read as the agent's genericDataType. The entry matches when the message matches any of its values; the entries of the list are OR-linked. A match hands the buffered messages on early, it does not filter messages out.

class
string

The type of this object, always core.MqttConditionEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.MqttConditionEntry" ]
condition
string

Comparison to apply. Text (genericDataType STRING) supports REGEX, CONTAINS, EQUALS and NOT; numbers support EQUALS, NOT and the four comparisons; dates only SMALLER, GREATER and EQUALS; any other combination never matches. Required; a missing or unknown name is rejected. A later entry with the same condition replaces an earlier one.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values the message is compared with, written in the agent's genericDataType, e.g. dates as 2024-12-31 or a regular expression for REGEX. Every value must parse as that type, otherwise the check fails.

string
nullInstance
boolean

When true, a tombstone record (a key without value) is committed and a notification mail about it is sent to the instance's notification recipient. Tombstones never start a job, whatever this is set to.

Defaultfalse
registryChannelId
integer (int64)

Id of an HTTP partner channel whose URL, login and OAuth2 client credentials are used to reach the schema registry for AVRO and AVRO_APICURIO values; 0 uses none. Get it from GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). Not validated: a wrong id is stored as is. Ignored for other dataType values.

Default0
resetTimestamp
string

UTC timestamp in ISO-8601 instant form, e.g. 2023-11-14T22:13:20Z, the agent rewinds its partitions to on its next start; empty or null does not rewind. One-off: it is not stored with the profile and reads empty afterwards.

schemaRegistryUrl
string

URL of the schema registry used to decode AVRO and AVRO_APICURIO values; overrides the URL of registryChannelId. %name% constants are resolved. Ignored for other dataType values.

Examplehttps://registry.example.com:8081
timeout
integer (int32)

Seconds after which the records collected so far are handed on as one job even though fewer than messageBufferSize have arrived; checked about every 5 seconds. 0 waits until the buffer is full. Only meaningful with messageBufferSize above 1.

Default0
topicName
string

Topic to consume; %name% constants are resolved. The prefix regex: subscribes to every topic matching the Java regular expression that follows, e.g. regex:orders-.* (not usable with assigned). Also part of the default consumer group id and clientId.

Exampleorders
triggerOnAnyServer
boolean

Only matters in a load-balancing cluster: when true, the agent starts regardless of the node restriction and the jobs of received records may run on any node instead of the one that received them.

Defaultfalse
core.AS2AgentSettings
object (core.AS2AgentSettings)
class
string

The type of this object, always core.AS2AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AS2AgentSettings" ]
channels
Array of object (core.IntegrationPartnerChannelAS2)

AS2 partner channels allowed to deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type AS2). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an AS2 channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An AS2 connection to the partner: the AS2 ids both sides use, the partner's AS2 URL and the signing/encryption settings for outgoing messages. Needs stationId (partnerAs2Id is filled when absent); set as2Url and the certificates via localCertificateId/remoteCertificateId; referenced by core.AS2ProfileResponseUnit.channel (send) and core.AS2AgentSettings.channels (partners allowed to deliver). The bridge is not settable through this API; channel list filter type=AS2.

class
string

The type of this object, always core.IntegrationPartnerChannelAS2. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelAS2" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
as2Url
string

The partner's AS2 endpoint that outgoing messages are posted to; an AS2 response unit without its own URL uses it.

Pattern^(https?|as2)://.+
Examplehttps://as2.acme.example/as2
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing messages; used only when the channel sends encrypted. Not validated on save.

Default"AES256"
ExampleAES256
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSignCertificateId
string

Id of the platform's own certificate (with private key) that signs the messages it sends over this channel. Must reference an existing certificate. Reads as absent while the channel signs with localCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Reads as absent while the channel uses localCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
mdnHashAlgorithm
string

Hash algorithm the MDN (receipt) is signed with, e.g. SHA256. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it.

Default"SHA256"
ExampleSHA256
mdnMode
string

Which MDN (receipt) the platform requests for outgoing messages: DEFAULT = the AS2 service's system setting, SYNCHRON = returned in the HTTP response, ASYNCHRON = sent later to the MDN URL. A channel stored with another code reads back without mdnMode, and a write that leaves it out keeps that code.

Valid values[ "DEFAULT", "SYNCHRON", "ASYNCHRON" ]
Default"DEFAULT"
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partnerAs2Id
string

The partner's AS2 id: sent as AS2-To on outgoing messages, and an incoming message is assigned to this channel by its AS2-From. Left out, the server fills an AUTO_CREATE_... placeholder that no partner sends.

ExampleACME_AS2
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteSignCertificateId
string

Id of the partner's certificate (public key) that the signature of the messages it sends over this channel is checked against. Must reference an existing certificate. Reads as absent while the channel checks against remoteCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Reads as absent while the channel expects remoteCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
removeSignatureSecurityFeatures
boolean

Whether the security settings of the message signature are removed (the editor's "Remove security settings of signature" switch). Leaving it out keeps the stored value, null resets it to false; a new channel keeps them.

Defaultfalse
sendingChunked
boolean

Whether outgoing messages are sent with chunked transfer encoding, split into blocks, instead of with a content length. Leaving it out keeps the stored value, null resets it to false; a new channel does not chunk.

Defaultfalse
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingMdnUrl
string

URL the partner sends the asynchronous MDN (receipt) to; only used with mdnMode ASYNCHRON. Must be an HTTP or HTTPS URL. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^(https?://.+)?$
Examplehttps://lobster.example/as2/mdn
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing messages; used only when the channel sends signed. Not validated on save.

Default"SHA1"
ExampleSHA256
stationId
string Required

The platform's own AS2 id toward this partner: sent as AS2-From on outgoing messages and expected as AS2-To on incoming ones. Required on create; a write may not blank it. Together with partnerAs2Id it must be unique among AS2 channels.

Min length1
ExampleLOBSTER_AS2
filePattern
string

Pattern the file name of the received payload must match, case-insensitive: wildcards * and ?, several patterns separated by |, regex:<expression> for a regular expression, and date placeholders like <yyyyMMdd> for today's date.

Default"*.*"
Example*.xml
mimeType
string

Content type the payload must have, compared case-insensitively; empty accepts any.

Exampleapplication/edifact
subject
string

Text the subject of the AS2 message must contain, case-insensitive; empty accepts any subject. A longer subject makes this profile win over other matching profiles.

core.CronCloudStorageAgentSettings
object (core.CronCloudStorageAgentSettings)
class
string

The type of this object, always core.CronCloudStorageAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronCloudStorageAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
bucket
string

Where in the storage account to read: the bucket (S3, Google Cloud Storage), container (Azure Blob), share (Azure Files) or drive/site id (Microsoft 365, where @Name:<site name> names a SharePoint site). Not used for Dropbox and Google Drive. Placeholders such as %NAME% are resolved.

comChannelId
integer (int64)

Id of the CloudStorage partner channel that holds the storage account; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type CloudStorage). Stored as sent without any check, so a wrong id only fails when the agent runs. A trigger variable VAR_SYS_TRIGGER_CHANNEL_ID replaces it for that run.

Example4711
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes: right away when they are skipped (acceptEmptyFiles false), and after pickup when they are processed, even if fileHandling is NONE.

Defaultfalse
dir
string

Folder in the storage to scan; separate several with ;. Date masks, %NAME% constants and @MSG_CALL_<name>@ variables are resolved.

Exampleinbound/orders
dmz
boolean

true accesses the storage through the Lobster DMZ server instead of directly.

Defaultfalse
documentLibrary
string

Microsoft 365 only: name of the SharePoint document library to read from; takes effect only when bucket names the site as @Name:<site name>.

errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

excludeHour
integer (int32)

Hours part of an age limit that excludeMinute and excludeSecond complete: files last modified longer ago than this duration are skipped. All three 0 disables the limit. fileOlderThan flips it to skip files younger than the duration instead.

Default0
Example24
excludeMinute
integer (int32)

Minutes part of the age limit described at excludeHour.

Default0
excludeSecond
integer (int32)

Seconds part of the age limit described at excludeHour.

Default0
factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file once it has been picked up. RENAME is not supported by these agents and behaves like NONE. DELETE needs write access to the file and its directory; a file it cannot delete is skipped with an error.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
fileOlderThan
boolean

Whether the age limit of excludeHour, excludeMinute and excludeSecond skips files modified longer ago (true) or files younger than the duration (false). null resets it.

Defaulttrue
filePattern
string

Pattern the names of the files to pick up must match. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and regex2: makes the whole value one regular expression. <yyyyMMdd> or @yyyyMMdd@ insert the current date, %NAME% a constant, @MSG_CALL_<name>@ a trigger variable. Names starting with . are always ignored; the file agent fails the run if the pattern is empty.

Default"*"
ExampleORDERS_*.xml|INVOIC_*.xml
fileSortAscending
boolean

true sorts ascending (A to Z, oldest first), false descending. Only used when the files are sorted, see fileSortItem.

Defaulttrue
fileSortItem
string

Order in which the files of a run are processed, in the direction of fileSortAscending. The cloud storage agent always sorts: by name for NAME, by last-modified time otherwise.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

readTempFiles
boolean

true also picks up files whose name starts with ~, which the file agent otherwise skips as temporary files. The cloud storage agent does not evaluate it and never skips such files.

Defaultfalse
recursiveDir
boolean

true also picks up matching files from all sub-directories of the scanned directories, at any depth. Ignored by the file agent when singleFile is true.

Defaultfalse
runInBackground
boolean

true hands every file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.CronLdapAgentSettings
object (core.CronLdapAgentSettings)
class
string

The type of this object, always core.CronLdapAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronLdapAgentSettings" ]
alias
string

Name of the LDAP connection (server and credentials) to search; it must already exist on the instance and be allowed for the profile's client. Variables and %NAME% constants are resolved.

attributes
string

Comma-separated names of the attributes to return. Empty returns all attributes.

Examplecn,sn,mail
baseDN
string

Distinguished name the search starts at.

Exampleou=people,dc=example,dc=com
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

resultLimit
integer (int32)

Maximum number of entries to read; when it is reached, the entries read so far are processed. 0 means no limit.

Default0
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
search
string

LDAP search filter. @0:s#<mask>@ inserts the time of the previous run in a date mask, e.g. (modifyTimestamp>=@0:s#yyyyMMddHHmmss@Z), so a run reads only changed entries. @...@ is a placeholder, so a literal @ in the filter can be misread. Variables and %NAME% constants are resolved.

Example(&(objectClass=person)(sn=Smith))
searchScope
string

How deep to search below baseDN.

Valid values[ "OBJECT", "ONE_LEVEL", "SUBTREE" ]
Default"OBJECT"
timeLimit
integer (int32)

Maximum time in seconds the search may take; 0 means no limit.

Default30
Example30
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
wrapFields
boolean

true writes every attribute as a JSON array of its values, so the structure is the same for single- and multi-valued attributes; false writes a single value as a plain string and only several values as an array. Binary values are Base64-encoded.

Defaultfalse
core.SmsAgentSettings
object (core.SmsAgentSettings)
class
string

The type of this object, always core.SmsAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SmsAgentSettings" ]
param
string Required

Phone number(s) this SMS profile receives messages for; separate multiple numbers with ;.

Min length1
core.AS4AgentSettings
object (core.AS4AgentSettings)
class
string

The type of this object, always core.AS4AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AS4AgentSettings" ]
channels
Array of object (core.IntegrationPartnerChannelAS4)

AS4 partner channels allowed to deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type AS4). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an AS4 channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An AS4 connection to the partner: the partner's AS4 id, its message service endpoint and the certificates. Referenced by core.As4ProfileResponseUnit.channel (send) and core.AS4AgentSettings.channels (partners allowed to deliver). The platform's own AS4 id, which outgoing messages are sent from, is not settable through this API; channel list filter type=AS4.

class
string

The type of this object, always core.IntegrationPartnerChannelAS4. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelAS4" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing messages; used only when the channel sends encrypted. Not validated on save. Leaving it out keeps the stored value, null resets it to the default, an empty string removes it.

ExampleAES256
endpointUrl
string

The partner's AS4 message service endpoint that outgoing messages are pushed to.

Pattern^https?://.+
Examplehttps://as4.acme.example/msh
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSignCertificateId
string

Id of the platform's own certificate (with private key) that signs the messages it sends over this channel. Must reference an existing certificate. Reads as absent while the channel signs with localCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Reads as absent while the channel uses localCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
mdnMode
string

Which MDN (receipt) the platform requests for outgoing messages: DEFAULT = the AS4 service's system setting, SYNCHRON = returned in the HTTP response, ASYNCHRON = sent later to sendingMdnUrl. A channel stored with another code reads back without mdnMode, and a write that leaves it out or sends null keeps that code. Otherwise leaving it out keeps the stored value and null resets it to DEFAULT.

Valid values[ "DEFAULT", "SYNCHRON", "ASYNCHRON" ]
Default"DEFAULT"
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's AS4 id, the receiver of messages sent through this channel. Left out, the server fills an AUTO_CREATE_... placeholder.

remoteSignCertificateId
string

Id of the partner's certificate (public key) that the signature of the messages it sends over this channel is checked against. Must reference an existing certificate. Reads as absent while the channel checks against remoteCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Reads as absent while the channel expects remoteCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingMdnUrl
string

URL the partner sends the asynchronous MDN (receipt) to; only used with mdnMode ASYNCHRON. Must be an HTTP or HTTPS URL. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^(https?://.+)?$
Examplehttps://lobster.example/as4/mdn
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing messages; used only when the channel sends signed. Not validated on save. Leaving it out keeps the stored value, null resets it to the default, an empty string removes it.

ExampleSHA256
filePattern
string

Pattern the file name of the received payload must match, case-insensitive: wildcards * and ?, several patterns separated by |, regex:<expression> for a regular expression, and date placeholders like <yyyyMMdd> for today's date.

Default"*.*"
Example*.xml
mimeType
string

Content type the payload must have, compared case-insensitively; empty accepts any.

Exampleapplication/xml
core.FaxAgentSettings
object (core.FaxAgentSettings)
class
string

The type of this object, always core.FaxAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.FaxAgentSettings" ]
acceptAll
boolean

true accepts faxes from every partner of the profile's client, whatever channel they arrive on, and ignores channelIds; such a profile only receives a fax no channel-specific fax profile takes.

Defaultfalse
channelIds
Array of integer

Ids of the fax channels whose incoming faxes this profile processes; list them with GET /platform/api/partners/preview/{partnerId}/channels (type Fax). The ids are stored as sent, without checking that they exist, so a wrong id only shows as faxes not arriving. Not evaluated while acceptAll is true.

integer (int64)
core.ManualUploadAgentSettings
object (core.ManualUploadAgentSettings)
class
string

The type of this object, always core.ManualUploadAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ManualUploadAgentSettings" ]
core.SFTPAgentSettings
object (core.SFTPAgentSettings)
class
string

The type of this object, always core.SFTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SFTPAgentSettings" ]
acceptEmptyFiles
boolean

true also processes uploaded files of zero bytes; false skips them with a log entry.

Defaultfalse
channels
Array of object (core.IntegrationPartnerChannelSFTP)

SFTP partner channels whose logins may deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type SFTP). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an SFTP channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An SFTP/SSH connection with the partner, in either direction: the partner logs in to the platform's SFTP server as remoteId and lands in remotePath, and the platform connects to the partner's server at host and port, checking its host key against keyType/keyFingerprint and authenticating with privateKeyId or a password. Referenced by core.CronSftpAgentSettings.channel and core.CronSshAgentSettings.channel (fetch), core.SSHProfileResponseUnit.channel (send) and core.SFTPAgentSettings.channels (partners allowed to upload). The partner's login password is remotePassword; the platform's own password at the partner's server is not settable through this API. Channel list filter type=SFTP.

class
string

The type of this object, always core.IntegrationPartnerChannelSFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.SshProtocol)

Protocols the partner may log in to the platform's SSH server with: any of SCP, SFTP, SSH (remote command execution). At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits SCP and SFTP but not SSH.

Example["SFTP"]
string

An SSH flavour the partner may use to log in to the platform's SFTP server: allowedProtocols of an SFTP channel.

  • SCP: SCP: file copy over SSH.
  • SFTP: SFTP: file transfer over SSH.
  • SSH: SSH: remote command execution. Not allowed on a new channel.
Valid values[ "SCP", "SFTP", "SSH" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's SFTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplesftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
keyFingerprint
string

Fingerprint of the host key the partner's SFTP server must present when the platform connects; compared case-insensitively together with keyType, and the connection fails on a mismatch. Left blank, any host key is accepted.

ExampleSHA256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU
keyType
string

Type of the host key the partner's SFTP server must present, as the SSH library reports it; checked together with keyFingerprint.

Examplessh-ed25519
localId
string

User name the platform logs in with at the partner's SFTP server (SSH login); its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
port
integer (int32)

TCP port of the partner's SFTP server. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Default22
Example22
privateKeyId
string

Id of the local certificate holding the key pair the platform authenticates with (public-key authentication) when it connects to the partner's SFTP server. Must reference an existing certificate with an SSH common name.

Pattern^\d+$
Example42
remoteCertificateIds
Array of string

Ids of the partner's certificates (public keys) in the certificate store, one of which the partner may authenticate with when it logs in to the platform's SFTP server by public key. Each must reference an existing certificate. Leaving it out keeps the stored list, null or an empty list removes it.

Example["43"]
string
remoteId
string

User name the partner logs in with on the platform's SFTP server; its password is remotePassword, its public keys are remoteCertificateIds. Must be unique among all SFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password) Required

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's SFTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. Without one the partner's file paths resolve against the server's working directory. Left out or blank on create, the server picks <client default channel directory>ssh/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ssh/acme
virtualRoot
boolean

Whether the partner, logged in on the platform's SFTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. null or left out keeps the stored value; a new channel shows the real path.

whiteListAddresses
Array of string

Addresses the partner may log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
wireCharset
string

Character set the SFTP/SCP server and client use for file names on the wire, e.g. ISO-8859-1. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it so the SSH library's default applies.

ExampleISO-8859-1
dir
string

Sub-directory, relative to the partner's home directory on the Lobster FTP/SFTP server, that an upload must land in for this profile; separate several with ;. $USER$ is replaced by the uploading partner's login name. Empty accepts uploads in any directory.

Examplein/orders
fileName
string

File-name pattern a file the partner uploads must match for this profile to take it. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and <yyyyMMdd> is replaced by the current date. If several profiles accept an upload, the one with the longest matching dir and the most specific pattern wins.

ExampleORDERS_*.csv|INVOIC_*.csv
processOnLogout
boolean

true collects the files a partner uploads during one session and processes them only when the partner logs out; false processes each file as soon as its upload is complete.

Defaultfalse
transferType
string

Upload protocol this profile accepts; a file uploaded the other way is not taken by this profile.

Valid values[ "SFTP", "SCP" ]
Default"SFTP"
core.TcpAgentSettings
object (core.TcpAgentSettings)
class
string

The type of this object, always core.TcpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.TcpAgentSettings" ]
alias
string

Name of the TCP server connection (server type) to listen on, as defined on the instance in etc/tcp.xml; the profile's client must be allowed to use it. An unknown or disallowed alias keeps the listener from starting.

binaryConverterClassName
string

Class name of a binary converter. Stored only: the TCP listener does not read it. Leave it empty.

factoryName
string

Id (factory name) of the cluster node that runs the listener; %NAME% constants are resolved. Empty runs it on the instance itself, but not on a load-balancing member; a value naming another node keeps it from starting here. Only relevant with load balancing.

core.CronCustomAgentSettings
object (core.CronCustomAgentSettings)
class
string

The type of this object, always core.CronCustomAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronCustomAgentSettings" ]
configFile
string

Configuration value handed to customClass on every run, usually the path of its configuration file relative to the Lobster installation; what it must contain depends on the class. %NAME% constants and @MSG_CALL_<name>@ trigger variables in it are resolved first. For classes that take properties, a non-empty proProperties is passed instead of this value.

Example./conf/my_task.properties
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
customClass
string

Fully qualified name of the Java class that produces the data. It must be a cron class installed on the Lobster server (registered in ./etc/admin/datawizard/custom_classes.properties or custom_own_classes.properties, or supplied by a platform module), or, for the orchestration agent, an orchestration class of a platform module. It is instantiated on every run, so a wrong name fails each run rather than being rejected on save. Every non-empty data block the class returns is processed as its own job. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=CUSTOM_CLASS; the orchestration agent takes only the orchestration classes of platform modules from that list.

Examplecom.example.MyCronTask
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
proProperties
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every data block the class returns to a separate background job and continues at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.MessageAgentSettings
object (core.MessageAgentSettings)
class
string

The type of this object, always core.MessageAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageAgentSettings" ]
comChannelId
integer (int64)

Not evaluated for this agent type; leave it 0.

Default0
context
string

Message context the agent listens on; together with queue it must match what the sender uses. Context System with queue DWForwardReceiver is reserved for internal forwarding and gets no listener of its own.

Default"DataWizard"
param
string

Not evaluated for this agent type; leave it empty.

queue
string

Message queue within context the agent listens on. Empty by default.

Exampleorders
core.GooglePubSubAgentSettings
object (core.GooglePubSubAgentSettings)
class
string

The type of this object, always core.GooglePubSubAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.GooglePubSubAgentSettings" ]
accumulation
object (core.AccumulationSettings)

Message-buffering configuration for this agent; see core.AccumulationSettings.

class
string

The type of this object, always core.AccumulationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationSettings" ]
aggregation
string

How the buffered payloads are combined into the job's data when the buffer flushes.

Valid values[ "CONCAT", "CONCAT_SEPARATOR", "XML_WRAP", "JSON_ARRAY", "FINAL_VALUE" ]
Default"CONCAT"
comparators
Array of object (core.AccumulationComparator)

Payload comparisons that flush the buffer early: each entry is checked against the newest message's payload, read as payloadDataType, and entries are OR-composed with each other and with filters, maxCount, maxAgeSeconds and maxTotalBytes - any one of them flushes. Sending the member replaces the whole list.

object

One payload comparison of AccumulationSettings.comparators: operator checked against the newest buffered message's payload, read as payloadDataType, for each of values. Several values are OR-composed for the same operator, e.g. two EQUALS values flush on either.

class
string

The type of this object, always core.AccumulationComparator. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationComparator" ]
operator
string

Comparison to apply: REGEX and CONTAINS need payloadDataType STRING; SMALLER, GREATER, SMALLER_EQUALS and GREATER_EQUALS need BIG_INTEGER, BIG_DECIMAL or DATE; EQUALS and NOT work with every supported payloadDataType. A value that fails to parse as payloadDataType fails the whole check for that message. Required.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values compared against the payload; must not be empty. Compared as text for REGEX and CONTAINS, otherwise parsed as payloadDataType.

string
enabled
boolean

true buffers messages instead of starting a job for each. While false no other member is validated. At least one of maxCount, maxAgeSeconds or maxTotalBytes must then be above 0, else the profile is rejected.

Defaultfalse
filters
Array of object (core.MessageFilter)

Function chain conditions that flush the buffer early, evaluated on the newest message like comparators (see core.MessageFilter), but through a mapping function chain instead of a fixed operator. OR-composed with comparators, maxCount, maxAgeSeconds and maxTotalBytes.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

Which buffered payload is kept when aggregation is FINAL_VALUE; ignored otherwise. MIN, MAX and AVG need payloadDataType BIG_INTEGER or BIG_DECIMAL; LAST works with every payloadDataType.

Valid values[ "MIN", "MAX", "AVG", "LAST" ]
Default"LAST"
maxAgeSeconds
integer (int32)

Seconds since the oldest buffered message that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example60
maxCount
integer (int32)

Number of buffered messages that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example100
maxTotalBytes
integer (int64)

Total buffered payload size in bytes that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example1048576
metadataStrategy
string

Which buffered message's file name, sender and variables the flushed job carries: FIRST or LAST message's, COLLECT_INDEXED all of them with an index suffix, COMMON_ONLY only the values every buffered message agrees on.

Valid values[ "FIRST", "LAST", "COLLECT_INDEXED", "COMMON_ONLY" ]
Default"FIRST"
payloadDataType
string

Type each buffered message's payload is read as for comparators and, with aggregation FINAL_VALUE, for finalValueFunction. comparators only work with STRING, BIG_INTEGER, BIG_DECIMAL or DATE; a finalValueFunction other than LAST needs BIG_INTEGER or BIG_DECIMAL.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
separator
string

Text put between the buffered payloads when aggregation is CONCAT_SEPARATOR; ignored otherwise.

Default","
xmlWrapRootName
string

Name of the root element the buffered payloads are wrapped in when aggregation is XML_WRAP; ignored otherwise. Must not be blank.

Default"concat-root"
alias
string Required

Name of the Google Pub/Sub connection to receive through; it must exist on the instance and be allowed for the profile's client. Its credentials also name the Google Cloud project topicId/subscriptionId are resolved in.

Min length1
subscriptionId
string Required

Id of the Google Cloud Pub/Sub subscription the agent pulls messages from, within the project named by alias's credentials. Created automatically if the connection is configured to auto-create subscriptions, otherwise it must already exist.

Min length1
topicId
string Required

Id of the Google Cloud Pub/Sub topic subscriptionId is bound to, within the project named by alias's credentials. Created automatically if the connection is configured to auto-create topics, otherwise it must already exist.

Min length1
core.CronOrchestrationAgentSettings
object (core.CronOrchestrationAgentSettings)
class
string

The type of this object, always core.CronOrchestrationAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronOrchestrationAgentSettings" ]
configFile
string

Configuration value handed to customClass on every run, usually the path of its configuration file relative to the Lobster installation; what it must contain depends on the class. %NAME% constants and @MSG_CALL_<name>@ trigger variables in it are resolved first. For classes that take properties, a non-empty proProperties is passed instead of this value.

Example./conf/my_task.properties
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
customClass
string

Fully qualified name of the Java class that produces the data. It must be a cron class installed on the Lobster server (registered in ./etc/admin/datawizard/custom_classes.properties or custom_own_classes.properties, or supplied by a platform module), or, for the orchestration agent, an orchestration class of a platform module. It is instantiated on every run, so a wrong name fails each run rather than being rejected on save. Every non-empty data block the class returns is processed as its own job. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=CUSTOM_CLASS; the orchestration agent takes only the orchestration classes of platform modules from that list.

Examplecom.example.MyCronTask
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
proProperties
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every data block the class returns to a separate background job and continues at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.AMQPAgentSettings
object (core.AMQPAgentSettings)
class
string

The type of this object, always core.AMQPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AMQPAgentSettings" ]
alias
string

Name of the AMQP (Legacy) connection to receive through; it must exist on the instance and be allowed for the profile's client, otherwise the agent is not started (only logged, the profile still saves). The alias decides the protocol (AMQP 0.9.1, AMQP 1.0 or JMS).

confirmMessageAtEnd
boolean

When true, a message is acknowledged to the broker only after its job finished successfully; a failed job rejects it (see requeue091). When false, the message is acknowledged as soon as its job is queued. Not used for queueType RPC.

Defaultfalse
delimiter
string

Text put between the messages when finalValueFunction is ALL; NL stands for a line break (CRLF). Empty concatenates without a separator.

Example,
factoryName
string

Id (factory name) of the cluster node that runs this agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

filters
Array of object (core.MessageFilter)

Function chain that decides, for each message that arrives while the buffer is not yet full, whether the collected messages (including this one) are handed on early: the chain runs on the message text and the buffer is forwarded when its last result is true. It does not drop messages. Only evaluated with messageBufferSize above 1 and only when mqttConditions is absent; an empty mqttConditions list disables it too.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

What the job receives from the collected messages: LAST the most recent one, ALL all of them joined with delimiter, MIN/MAX the one with the smallest/largest numeric value, AVG their average. MIN, MAX and AVG need a numeric genericDataType (INTEGER, FLOAT, BIG_DECIMAL or BIG_INTEGER), ALL works for STRING, INTEGER, FLOAT, BIG_DECIMAL and BIG_INTEGER; any other combination produces no job, also with messageBufferSize 1.

Valid values[ "MIN", "MAX", "AVG", "ALL", "LAST" ]
Default"LAST"
genericDataType
string

Type the whole message payload is read as for mqttConditions and finalValueFunction: STRING text, INTEGER, DOUBLE, DATE (yyyy-MM-dd), FLOAT, BIG_DECIMAL or BIG_INTEGER. mqttConditions support STRING, INTEGER, DOUBLE, DATE, FLOAT and BIG_INTEGER. A message that does not parse as the type fails the check (logged).

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
jmsClientId
string

JMS client id set on the connection, which brokers need for durable topic subscriptions. Empty sets none. Only for JMS aliases; two profiles on the same alias must not use the same client id. %name% constants are resolved.

jmsMessageSelector
string

JMS message selector (SQL-92 syntax on message headers and properties) that limits which messages the agent receives. Empty receives all. Only for JMS aliases. %name% constants are resolved.

ExampleNewsType = 'Sports' OR NewsType = 'Opinion'
jmsUnsubscribeTopic
boolean

When true, the durable JMS subscription subscriberName is removed when the agent closes its topic session (profile stopped, connection restarted), so messages published meanwhile are not kept for it. Only for JMS aliases with queueType TOPIC.

Defaultfalse
messageBufferSize
integer (int32)

Number of messages collected before they are handed on together as one job, combined by finalValueFunction. 1 starts one job per message; timeout, mqttConditions and filters only have an effect above 1.

Default1
Example10
messageIntervalCheck
integer (int32)

Stored but not evaluated by the AMQP agent: mqttConditions and filters are checked on every message.

Default1
mqttConditions
Array of object (core.MqttConditionEntry)

Conditions that hand the collected messages on early: when a message that arrives before the buffer is full matches any value of any entry, the buffer including this message is forwarded. The whole message is compared, read as genericDataType; entries are OR-linked. They do not drop messages. Only evaluated with messageBufferSize above 1; when present (even as an empty list), filters are ignored.

object

One entry of mqttConditions of an MQTT, Kafka or AMQP (Legacy) agent: a comparison (condition) and the values the whole received message is compared with, read as the agent's genericDataType. The entry matches when the message matches any of its values; the entries of the list are OR-linked. A match hands the buffered messages on early, it does not filter messages out.

class
string

The type of this object, always core.MqttConditionEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.MqttConditionEntry" ]
condition
string

Comparison to apply. Text (genericDataType STRING) supports REGEX, CONTAINS, EQUALS and NOT; numbers support EQUALS, NOT and the four comparisons; dates only SMALLER, GREATER and EQUALS; any other combination never matches. Required; a missing or unknown name is rejected. A later entry with the same condition replaces an earlier one.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values the message is compared with, written in the agent's genericDataType, e.g. dates as 2024-12-31 or a regular expression for REGEX. Every value must parse as that type, otherwise the check fails.

string
persistent
boolean

Durability: with AMQP 0.9.1 a queue or exchange the agent declares itself is declared durable; with JMS and queueType TOPIC the agent creates a durable subscription named subscriberName. Not used for queueType RPC and not for AMQP 1.0.

Defaultfalse
prefetchCount
integer (int32)

AMQP 0.9.1 prefetch count: the maximum number of unacknowledged messages the broker delivers to this agent at once. 0 means no limit; queueType RPC always uses 1. Ignored for AMQP 1.0 and JMS.

Default0
prefetchSize
integer (int32)

AMQP 0.9.1 prefetch window in bytes (basic.qos prefetch size): the broker sends at most this many unacknowledged bytes. 0 means no limit; RabbitMQ accepts only 0. Ignored for queueType RPC, AMQP 1.0 and JMS.

Default0
propertyKeyForFileName
string

Message attribute that becomes the job's file name: CorrelationId or MessageId (the name is then CID <id> or MID <id>), for AMQP 1.0 also Subject, or the name of any other message property/header, whose value is used as is. Empty or a missing value gives amqp.data; / is replaced by ..

qualityOfService
string

Delivery guarantee the consumer requests from an AMQP 1.0 broker. Only used for AMQP 1.0 aliases with queueType PUBLISH or RPC (topic and routing consumers always use AT_LEAST_ONCE); AMQP 0.9.1 and JMS ignore it.

Valid values[ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ]
Default"EXACTLY_ONCE"
queueName
string

Queue to consume from; for AMQP 0.9.1 with queueType TOPIC or ROUTING it is the name of the exchange, and for JMS the name of the queue or topic destination. %name% constants are resolved. With AMQP 0.9.1 a queue or exchange that does not exist is declared by the agent (durable when persistent is true) unless the connection requires it to exist.

Exampleorders.in
queueType
string

How the agent consumes: PUBLISH Subscriber (reads the queue queueName), TOPIC (AMQP 0.9.1: binds to the topic exchange queueName with routingKey; JMS: subscribes to the topic queueName), ROUTING (AMQP 0.9.1 direct exchange with routingKey; not supported by JMS), RPC (reads requests from queueName and sends the profile's response back to the requester; add a response unit that returns data).

Valid values[ "PUBLISH", "TOPIC", "ROUTING", "RPC" ]
Default"PUBLISH"
requeue091
boolean

What happens to a message whose job failed: true puts it back into the queue at its position (it then blocks the queue until a job succeeds), false lets the broker discard it or move it to a dead-letter queue. Only for AMQP 0.9.1 aliases and only with confirmMessageAtEnd true.

Defaultfalse
routingKey
string

Routing key the agent binds its own temporary queue with to the exchange queueName. Only used for AMQP 0.9.1 with queueType TOPIC (topic exchange, wildcards * and #) or ROUTING (direct exchange); ignored otherwise. %name% constants are resolved.

Exampleorders.#
subscriberName
string

Name of the durable JMS topic subscription; the broker keeps unread messages under this name, so keep it stable. Only used for JMS aliases with queueType TOPIC and persistent true. %name% constants are resolved. When not set, a name SUB<number> is generated.

timeout
integer (int32)

Seconds after which the messages collected so far are handed on as one job even though fewer than messageBufferSize have arrived; checked about every 5 seconds. 0 waits until the buffer is full. Only meaningful with messageBufferSize above 1.

Default0
Example30
core.CronSapAgentSettings
object (core.CronSapAgentSettings)
class
string

The type of this object, always core.CronSapAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSapAgentSettings" ]
alias
string

Name of the SAP connection to call through; the profile's client must be allowed to use it. %NAME% constants are resolved. An unknown or disallowed alias fails each run.

cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fields
Array of object (core.SapField)

Scalar import parameters of the function module, one entry per parameter. Values may contain placeholders that are resolved on each run, e.g. @yyyyMMdd@ for the current date, %NAME% for a constant or @MSG_CALL_<NAME>@ for a variable a trigger handed over.

object

One scalar import parameter of the SAP function module an SAP cron agent calls; one element of fields. Sets the parameter key to value before each call.

class
string

The type of this object, always core.SapField. Required where the member it is sent in accepts several types.

Valid values[ "core.SapField" ]
key
string

Name of the import parameter as the function module defines it.

ExampleMAXROWS
value
string

Value passed for the parameter; date masks, %NAME% constants and @NAME@ variables are resolved on each run. Always send it: an entry without a value fails the run.

Example100
fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

format
string

Format the function's result is converted to before the profile parses it. Choose the profile's input format to match.

Valid values[ "CSV", "FIX", "XML", "SAP_XML" ]
Default"CSV"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

rfcName
string

Name of the remote-enabled SAP function module to call. A name the SAP system does not know fails the run.

ExampleBAPI_MATERIAL_GETLIST
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
structures
Array of object (core.SapStructureEntry)

Structure-typed import parameters of the function module, one entry per structure with its field names in header and a single row of values. An entry without rows is skipped; a name the function does not have fails the run.

object

Values for one structure or table parameter of the SAP function module an SAP cron agent calls; one element of structures or tables. header names the columns, each element of rows gives the values for those columns in the same order.

class
string

The type of this object, always core.SapStructureEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureEntry" ]
header
Array of string

Field names of the structure or table, in the order the values of each row follow. A row must not have more values than header has names.

string
name
string

Name of the structure or table parameter as the function module defines it. Must be unique within its list; a later entry with the same name replaces an earlier one.

ExampleIMPORTSTRUCT
rows
Array of object (core.SapStructureRow)

The values to set: for a structure one row (further rows overwrite its values); for a table one row per table line to append. With no rows the parameter is left untouched.

object

One row of values for an SAP structure or table parameter; one element of the rows of an entry in structures or tables.

class
string

The type of this object, always core.SapStructureRow. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureRow" ]
values
Array of string

Values in the order of the entry's header, e.g. ["000000000000004711", "1000"]. Date masks such as @yyyyMMdd@, %NAME% constants and @NAME@ variables are resolved on each run.

string
tables
Array of object (core.SapStructureEntry)

Table parameters of the function module to fill before the call, one entry per table with its column names in header and one row per table line; the table is cleared first. A name that is neither a table nor a table-typed import parameter of the function fails the run.

object

Values for one structure or table parameter of the SAP function module an SAP cron agent calls; one element of structures or tables. header names the columns, each element of rows gives the values for those columns in the same order.

class
string

The type of this object, always core.SapStructureEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureEntry" ]
header
Array of string

Field names of the structure or table, in the order the values of each row follow. A row must not have more values than header has names.

string
name
string

Name of the structure or table parameter as the function module defines it. Must be unique within its list; a later entry with the same name replaces an earlier one.

ExampleIMPORTSTRUCT
rows
Array of object (core.SapStructureRow)

The values to set: for a structure one row (further rows overwrite its values); for a table one row per table line to append. With no rows the parameter is left untouched.

object

One row of values for an SAP structure or table parameter; one element of the rows of an entry in structures or tables.

class
string

The type of this object, always core.SapStructureRow. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureRow" ]
values
Array of string

Values in the order of the entry's header, e.g. ["000000000000004711", "1000"]. Date masks such as @yyyyMMdd@, %NAME% constants and @NAME@ variables are resolved on each run.

string
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
waitTime
integer (int32)

Seconds to wait for the SAP call before the run fails; 0 waits without limit, and a negative value is stored as 0.

Default180
Example180
core.SMTPAgentSettings
object (core.SMTPAgentSettings)
class
string

The type of this object, always core.SMTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SMTPAgentSettings" ]
channel
object (core.IntegrationPartnerChannelMail)

The partner mail channel mails must come from, given as {"id": ...}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type MAIL). Checked on write and read back resolved. null for none.

class
string

The type of this object, always core.IntegrationPartnerChannelMail. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelMail" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.MailChannelProtocol)

What the channel may be used for: any of SMTP and ASMTP (sending mail, without and with a login) and POP3 and IMAP (fetching mail). At least one must stay allowed (an empty list leaves the stored allowance unchanged), and POP3 and IMAP are mutually exclusive (the editor keeps one); null or left out keeps the stored allowance, which on a new channel permits all four.

Example["SMTP", "IMAP"]
string

A mail protocol the channel may be used with: allowedProtocols of a mail channel.

  • SMTP: SMTP: sending mail without login.
  • ASMTP: ASMTP: sending mail through an SMTP server that requires a login.
  • POP3: POP3: fetching mail from a POP3 mailbox.
  • IMAP: IMAP: fetching mail from an IMAP mailbox.
Valid values[ "SMTP", "ASMTP", "POP3", "IMAP" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing mails; used only when the channel sends encrypted. Not validated on save. null or left out keeps the stored value.

Default"AES"
ExampleAES
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
imapFolder
string

IMAP folder mail is fetched from; a directory set in the IMAP cron job overrides it.

Default"INBOX"
ExampleINBOX/orders
incomingMaxSize
integer (int64)

Largest incoming mail accepted on this channel, in bytes. Must be at most 1073741824 (1024 MB). null (or leaving it out on create) means no limit, and an unlimited channel reads back null.

Minimum1
Example10485760
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

The platform's own mail address on this channel; matched case-insensitively, so an incoming mail is assigned to the channel whatever case it is addressed in, while the address is stored and read back as given. Unless the channel stores its own SMTP or retrieval user name, the platform logs in with this address, so changing it changes that login too. null or left out keeps the stored value.

Exampleedi@lobster.example
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's mail address, stored in lower case; an SMTP response unit sends to it unless the unit names its own receiver. A channel that receives mail should hold exactly one address; this API does not check. Left out, the server fills a placeholder address (mail...@mail.org).

Exampleedi@acme.example
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
retrievalAuthMechanism
string

SASL mechanism for the POP3/IMAP login when mail is fetched through this channel; left out, the mail library negotiates one.

ExampleXOAUTH2
retrievalServerUrl
string

POP3/IMAP server the platform fetches mail from through this channel (pop3://, pop3s://, pop3es://, imap://, imaps:// or imapes://; the s variants are TLS, the es variants STARTTLS). Another scheme is accepted as given and fails when mail is retrieved. null or left out keeps the stored value.

Exampleimaps://mail.acme.example:993
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing mails; used only when the channel sends signed. Not validated on save. null or left out keeps the stored value.

Default"SHA256"
ExampleSHA256
smtpAuthMechanism
string

SASL mechanism for the SMTP login, case-insensitive; OAuth2 tokens are not settable through this API. Left out, the mail library negotiates one.

ExamplePLAIN
smtpServerUrl
string

SMTP server that mails to this partner are sent through (smtp:// default port 25, smtps:// 465, smtpes:// for STARTTLS). A host or port set in the SMTP response unit overrides it.

Pattern^(smtp|smtps|smtpes)://.+
Examplesmtps://mail.acme.example:465
filePattern
string

Attachment file name pattern; required unless the mail body is used.

ignoreChannelOfMail
boolean

Whether the channel of the mail is ignored.

Defaultfalse
mimeType
string

Content type of the mail body; used when the mail body is taken.

Default"text/plain"
receiverAddress
string

Recipient address mails must be sent to; may contain defined constants.

senderAddress
string

Sender address mails must come from; may contain defined constants.

siblingIsSameLocalId
boolean

Whether a mail from a channel of the same local id is accepted.

Defaultfalse
subject
string

Subject text a mail must match.

useBody
boolean

Whether the mail body is taken instead of the attachment.

Defaultfalse
useRPCTo
boolean

Whether the RPC recipient address is used.

Defaultfalse
core.CronSshAgentSettings
object (core.CronSshAgentSettings)
class
string

The type of this object, always core.CronSshAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSshAgentSettings" ]
channel
object (core.IntegrationPartnerChannelSFTP)

The SFTP partner channel to fetch from over SCP, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type SFTP). Checked on write and read back resolved. The channel must allow SCP, otherwise every run fails with "channel does not match subtype". Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelSFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.SshProtocol)

Protocols the partner may log in to the platform's SSH server with: any of SCP, SFTP, SSH (remote command execution). At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits SCP and SFTP but not SSH.

Example["SFTP"]
string

An SSH flavour the partner may use to log in to the platform's SFTP server: allowedProtocols of an SFTP channel.

  • SCP: SCP: file copy over SSH.
  • SFTP: SFTP: file transfer over SSH.
  • SSH: SSH: remote command execution. Not allowed on a new channel.
Valid values[ "SCP", "SFTP", "SSH" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's SFTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplesftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
keyFingerprint
string

Fingerprint of the host key the partner's SFTP server must present when the platform connects; compared case-insensitively together with keyType, and the connection fails on a mismatch. Left blank, any host key is accepted.

ExampleSHA256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU
keyType
string

Type of the host key the partner's SFTP server must present, as the SSH library reports it; checked together with keyFingerprint.

Examplessh-ed25519
localId
string

User name the platform logs in with at the partner's SFTP server (SSH login); its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
port
integer (int32)

TCP port of the partner's SFTP server. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Default22
Example22
privateKeyId
string

Id of the local certificate holding the key pair the platform authenticates with (public-key authentication) when it connects to the partner's SFTP server. Must reference an existing certificate with an SSH common name.

Pattern^\d+$
Example42
remoteCertificateIds
Array of string

Ids of the partner's certificates (public keys) in the certificate store, one of which the partner may authenticate with when it logs in to the platform's SFTP server by public key. Each must reference an existing certificate. Leaving it out keeps the stored list, null or an empty list removes it.

Example["43"]
string
remoteId
string

User name the partner logs in with on the platform's SFTP server; its password is remotePassword, its public keys are remoteCertificateIds. Must be unique among all SFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password) Required

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's SFTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. Without one the partner's file paths resolve against the server's working directory. Left out or blank on create, the server picks <client default channel directory>ssh/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ssh/acme
virtualRoot
boolean

Whether the partner, logged in on the platform's SFTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. null or left out keeps the stored value; a new channel shows the real path.

whiteListAddresses
Array of string

Addresses the partner may log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
wireCharset
string

Character set the SFTP/SCP server and client use for file names on the wire, e.g. ISO-8859-1. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it so the SSH library's default applies.

ExampleISO-8859-1
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dir
string

Directory to read from on the partner's server. SCP agent: the remote path the files are copied from; WebDAV agent: the path appended to url (a missing / between them is added). Date masks such as <yyyyMMdd>, %NAME% constants and @MSG_CALL_<name>@ variables are resolved.

Exampleinbox/orders
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a fetched file on the server: NONE leaves it (so it is read again on the next run), RENAME renames or moves it as fileRename says. The WebDAV agent does this right after the download, before processing; the SCP agent after processing.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. SCP agent: sent as part of the scp source path, so the remote shell's wildcards apply; a received file that then does not match the pattern (*, ?, |, regex:, ignoring case) is stored in 'unresolved' and skipped. WebDAV agent: the directory listing is filtered with that syntax, and files the server reports as zero bytes are skipped.

Default"*"
Example*.xml
fileRename
string

New name of a fetched file when fileHandling is RENAME: <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. SCP agent: the file is moved with mv, so a relative name is relative to the login directory, not to dir. WebDAV agent: a value starting with / is appended to url, any other to url plus dir, and <file> is inserted URL-encoded. Empty leaves the file in place.

Exampledone/<file>
host
string

Host name of the server; non-empty overrides the channel's. null resets it.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

Port of the server; above 0 overrides the channel's. null resets it.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every fetched file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
core.CommLogAgentSettings
object (core.CommLogAgentSettings)
class
string

The type of this object, always core.CommLogAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CommLogAgentSettings" ]
allPartners
boolean

Whether the agent logs entries for every partner instead of only partnerList. A write that switches to a selection with partnerList empty is refused: a selection with nothing selected would never match.

Defaulttrue
allProtocolTypes
boolean

Whether the agent logs entries for every communication protocol instead of only protocolTypes. Subject to the same all-or-selection rule as allPartners.

Defaulttrue
commType
string

Communication-log event type this agent filters on; see core.CommLogEventType.

Valid values[ "ALL", "MDN", "NDN" ]
Default"ALL"
direction
string

Communication direction this agent filters on; see core.CommLogDirection.

Valid values[ "ALL", "IN", "OUT" ]
Default"ALL"
partnerList
Array of integer

Ids of the partners this agent's log entries are limited to; get them with GET /platform/api/partners/preview. Only with allPartners false; sent while it is true it is refused, since the platform clears it.

integer (int64)
protocolTypes
Array of string (core.CommLogProtocolType)

Communication channel protocols this agent's log entries are limited to; see core.CommLogProtocolType. Only with allProtocolTypes false; sent while it is true it is refused.

string

Communication channel protocol a communication-log input agent filters on: protocolTypes of the agent.

  • AS2: AS2.
  • FAX: Fax.
  • HTTP: HTTP(S).
  • MAIL: Mail.
  • OFTP: OFTP.
  • X400: X.400.
Valid values[ "AS2", "FAX", "HTTP", "MAIL", "OFTP", "X400" ]
core.SapAleAgentSettings
object (core.SapAleAgentSettings)
class
string

The type of this object, always core.SapAleAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SapAleAgentSettings" ]
combineMessages
integer (int32)

Number of IDOCs of the same kind grouped into one job before it is handed to the target profile. 1 means no grouping.

Default1
factoryName
string

Id (factory name) of the cluster node that runs this ALE listener in a load-balanced installation; empty runs it on the active node. Only relevant with load balancing - it is always stored empty otherwise.

maxDocs
integer (int32)

Maximum number of IDOCs the platform accepts in one ALE transmission from SAP; a transmission with more is refused entirely and no job runs.

Default1000
Example1000
relations
Array of object (core.SapAleRelation) Required

Ordered IDOC-to-profile routing table; see core.SapAleRelation. Must name at least one rule - the editor refuses to save an empty table.

object

One rule of a SAP ALE input agent's IDOC-to-profile routing table: one entry of relations. An incoming IDOC is matched against every rule's idoc, cim and field/fieldValue; the most specific match (or, with useAndOperation, the profile matching the most rules) decides which profileName runs.

class
string

The type of this object, always core.SapAleRelation. Required where the member it is sent in accepts several types.

Valid values[ "core.SapAleRelation" ]
cim
string

IDOC extension (CIM) type this rule additionally matches; left blank, any CIM for the given idoc matches.

field
string

Name of the IDOC segment field checked against fieldValue; only evaluated when fieldValue is set.

Default"TABNAM"
fieldValue
string

Value field must equal for this rule to match; left blank the rule matches on idoc/cim alone.

idoc
string Required

IDOC type this rule matches; * matches any IDOC not matched more specifically by another rule.

Min length1
ExampleORDERS01
profileName
string Required

Name of the profile started for a matching IDOC; must already exist.

Min length1
sapAlias
string Required

Name of the SAP connection to receive ALE IDOCs from; the profile's client must be allowed to use it.

Min length1
useAndOperation
boolean

Whether a profileName used by more than one row of relations is only chosen once every one of its rows also finds a distinct match in the same IDOC, instead of the single best matching row deciding alone.

Defaultfalse
usePersistentMessage
boolean

Whether the message handed to the matching profileName is persistent (kept up to 96 hours, delivered once a consumer is available) instead of synchronous (waits up to 12 hours for the profile's answer).

Defaultfalse
core.CronWebdavAgentSettings
object (core.CronWebdavAgentSettings)
class
string

The type of this object, always core.CronWebdavAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronWebdavAgentSettings" ]
certId
integer (int64)

Id of the local certificate the HTTPS connection authenticates with; it must already exist on the instance. 0 uses the local certificate of the comChannelId channel, if it has one.

Default0
comChannelId
integer (int64)

Id of an HTTP partner channel that supplies the password and whatever url, user and certId leave empty; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). Stored as sent without any check, so a wrong id only fails when the agent runs. 0 uses no channel. A trigger variable VAR_SYS_TRIGGER_CHANNEL_ID replaces it for that run.

Default0
Example4711
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dir
string

Directory to read from on the partner's server. SCP agent: the remote path the files are copied from; WebDAV agent: the path appended to url (a missing / between them is added). Date masks such as <yyyyMMdd>, %NAME% constants and @MSG_CALL_<name>@ variables are resolved.

Exampleinbox/orders
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a fetched file on the server: NONE leaves it (so it is read again on the next run), RENAME renames or moves it as fileRename says. The WebDAV agent does this right after the download, before processing; the SCP agent after processing.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. SCP agent: sent as part of the scp source path, so the remote shell's wildcards apply; a received file that then does not match the pattern (*, ?, |, regex:, ignoring case) is stored in 'unresolved' and skipped. WebDAV agent: the directory listing is filtered with that syntax, and files the server reports as zero bytes are skipped.

Default"*"
Example*.xml
fileRename
string

New name of a fetched file when fileHandling is RENAME: <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. SCP agent: the file is moved with mv, so a relative name is relative to the login directory, not to dir. WebDAV agent: a value starting with / is appended to url, any other to url plus dir, and <file> is inserted URL-encoded. Empty leaves the file in place.

Exampledone/<file>
httpHeader
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every fetched file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
url
string

Base URL of the WebDAV server; dir is appended to it. Empty uses the address of the comChannelId channel. Date masks, %NAME% constants and variables are resolved.

Examplehttps://dav.example.com/remote.php/dav/files/acme
user
string

Login name at the WebDAV server. Empty uses the login of the comChannelId channel.

core.RuleAgentSettings
object (core.RuleAgentSettings)
class
string

The type of this object, always core.RuleAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.RuleAgentSettings" ]
core.CronHttpAgentSettings
object (core.CronHttpAgentSettings)
class
string

The type of this object, always core.CronHttpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpAgentSettings" ]
certId
integer (int64)

Id of a client certificate for TLS client authentication at an https target; the certificate must already exist on the instance. A wrong id fails each run ("Defined certificate can not be found!"). 0 uses none, except a key store file etc/certs/<host> on the server if one exists.

Default0
Example42
channel
object (core.IntegrationPartnerChannelHTTP)

The HTTP partner channel the request goes through, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). Checked on write and read back resolved. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelHTTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelHTTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
groupName
string

Authentication realm of the partner's login: a login on the platform's HTTP server only finds this channel when the realm of the protected area being called matches.

Default"DEFAULT"
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

User name the platform authenticates with at the partner's HTTP server; its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string Required

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
openIdSettings
object (core.OpenIdSettings)

How the platform validates a bearer-token (JWT) login of the partner on its HTTP server: issuer, audience and the certificate or key endpoint the signature is checked against. Read back only when the stored settings are readable on this installation; otherwise null, and a write of null keeps them. null or left out keeps the stored settings; {} (every member empty) removes them. Writing settings drops the channel's OAuth2 tokens, as the editor does (the two are exclusive). While the channel issues JWT tokens itself, the settings hold its signing certificate: a change must keep a stored certificateId with a private key, must not set certificateDynamicFetch, and cannot remove the settings.

class
string

The type of this object, always core.OpenIdSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.OpenIdSettings" ]
audience
string

Audience (aud claim) a partner's token must contain: the token's aud may be this one value or a list that includes it.

Examplelobster-platform
certificateDynamicFetch
boolean

true fetches the signing keys from url instead of using the stored certificate certificateId; false, null or left out uses the stored certificate.

Defaultfalse
certificateId
string

Id of the stored (partner) certificate whose public key verifies the token signature; used when certificateDynamicFetch is not true. Must reference an existing certificate.

Example43
issuer
string

Issuer (iss claim) a partner's token must carry; compared for an exact match.

Examplehttps://login.acme.example
url
string

JWKS endpoint of the issuer the signing keys are fetched from; used only when certificateDynamicFetch is true.

Examplehttps://login.acme.example/.well-known/jwks.json
policy
string

Name of the rate-limit policy applied to requests the partner sends through this HTTP channel. Global is built in. null or left out keeps the stored value; a blank string clears it.

ExampleGlobal
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

User name the partner logs in with on the platform's HTTP server (HTTP authentication); its password is not settable through this API. Must be unique among all HTTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme-http-user
url
string

Base URL of the partner's server. An HTTP response unit that names this channel takes the host (and the port, if the unit sets none) from it when its own host is empty or <serverurl>, and replaces <serverurl> in its URL with this URL's path; an HTTP cron job replaces <serverurl> with the whole URL.

Pattern^https?://.+
Examplehttps://api.acme.example/orders
userRoles
Array of string

Role names the partner holds after logging in with this channel; which role a protected HTTP area requires is part of the platform's HTTP server configuration, not of the channel. Stored as given.

string
continueHttpCronWithSameUrl
boolean

true keeps paging when the next page's URL equals the previous one; false stops paging at a repeated URL. Only used with selfTrigger.

Defaultfalse
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dmz
boolean

true sends the request through the Lobster DMZ server, for targets only reachable from there.

Defaultfalse
encodeUrl
boolean

true percent-encodes the resolved URL, e.g. spaces in the path or query, before sending. The URL from VAR_SYS_HTTP_PAGING_URL is not encoded.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

graphQlQuery
string

The GraphQL query sent when graphQlRequest is true; %NAME% constants, date masks such as @yyyyMMdd@ and @NAME@ variables are resolved on each run before the query is wrapped in the JSON body.

Example{ orders(first: 10) { id status } }
graphQlRequest
boolean

true sends a GraphQL request: graphQlQuery is posted as a JSON body with method POST, multipart parts are dropped, and soapData is ignored. Takes precedence over webServiceRequest.

Defaultfalse
httpContentType
string

Content type of the request body soapData. The profile's encoding is added as charset unless the value contains ;raw, which is removed before sending.

Default"text/xml"
Exampleapplication/json
httpSettings
object (core.HttpClientSettings)

The request to send: sslEnabled (https), host, port, uri and query are joined into one URL, httpMethod is the method (GETWITHCONTENT and DELETEWITHCONTENT send a body with GET and DELETE), headers are sent as request headers (a header named method overrides the method). In the URL, %NAME% constants, date masks such as @yyyyMMdd@ and @NAME@ variables are resolved on each run. Default method GET.

class
string

The type of this object, always core.HttpClientSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpClientSettings" ]
headers
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

host
string

Host name or IP address of the server, without scheme, port or path. In a response unit @name@ placeholders (a target field or variable) are resolved at run time, and an empty host (or <serverurl>) is taken from the unit's channel.

Exampleapi.example.com
httpMethod
string

HTTP method of the request. Left out, a response unit uses POST and a time-driven agent GET. A header named method in headers overrides it at run time. SOAP and multipart requests need a method with a body (POST, PUT, PATCH, GETWITHCONTENT, DELETEWITHCONTENT): a response unit fails with any other, a time-driven agent switches to POST.

Valid values[ "GET", "GETWITHCONTENT", "POST", "PUT", "PATCH", "DELETE", "DELETEWITHCONTENT", "HEAD" ]
port
string

Port as text, so it can hold a placeholder such as @VAR_PORT@. Empty uses 443 with sslEnabled, else 80; a response unit with a channel takes the channel's port first. In a response unit a value that does not resolve to a number fails the unit at run time.

Example8443
query
string

Query string without the leading ?. In a response unit it is the URL query of a GET, HEAD or DELETE. With a body method it becomes the request body when the unit sends no content (contentType core.ResponseContentType_NONE) or when it contains <http-data> (replaced by the URL-encoded output data); otherwise it is the URL query and the content is the body. @name@ placeholders are URL-encoded unless noUrlEncoding or multiPart is set. A time-driven agent appends it to the URL after ?.

Exampleid=@orderId@&lang=en
sslEnabled
boolean

true (default) sends the request over HTTPS, false over plain HTTP. Also decides the port used when port is empty: 443 or 80.

uri
string

Path of the request; a missing leading / is added. In a response unit anything after ? is dropped (use query), @name@ placeholders are URL-encoded unless noUrlEncoding is set, <http-data> is replaced by the URL-encoded output data, and <serverurl> by the path of the channel's address.

Example/v1/orders/@orderId@
httpTimeOut
integer (int32)

Seconds to wait for the target's answer before the request fails; a value below 1 also means 90. Seconds, not milliseconds: 30000 waits more than 8 hours.

Default90
Example30
httpUser
string

User name for HTTP authentication at the target (Basic or Digest; a name with a backslash uses NTLM). The password is not settable through this API. Placeholders are resolved like in the URL. Empty: no user, unless a partner channel supplies one.

ExampleDOMAIN\user
ignoreHttpError
boolean

true processes a non-empty answer even when its status is not 2xx, e.g. to map an error document. false logs such an answer as an error and runs no job.

Defaultfalse
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxPaging
integer (int32)

Maximum number of requests per scheduled run, the first one included. Limits paging. 0 or less sends no request at all.

Default1000
Example100
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multiParts
Array of object (core.CronHttpMultiPart)

Elements named to match one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other element is unaffected.

object

One part of the multipart/form-data body a cron HTTP agent sends; one element of multiParts. As soon as one part is set, the request is sent as multipart (as POST unless PUT or PATCH is chosen) instead of soapData; parts are dropped for a SOAP request (webServiceRequest). A text part needs key, data and mimeType; a file part (file: true) also fileName.

class
string

The type of this object, always core.CronHttpMultiPart. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpMultiPart" ]
data
string

Content of the part. For a text part the value itself; for a file part either file: plus the path of a file on the Lobster server whose content is sent (the profile's client must be allowed to read it), or the literal file content. Placeholders are resolved on each run; empty after resolving fails the run.

Examplefile:/data/out/report.pdf
encoding
string

Character encoding of a text part or of literal file content; empty means UTF-8.

ExampleUTF-8
file
boolean

true sends the part as a file (with fileName), false as a plain form field.

Defaultfalse
fileName
string

File name sent for a file part; placeholders are resolved. For a file: part an empty name takes the file's own name. Not used for text parts. Send it for every file part: a missing one fails the run.

Examplereport.pdf
key
string

Form field name of the part. Placeholders (%NAME%, @NAME@, date masks) are resolved on each run; a name that resolves to empty fails the run.

Examplefile
mimeType
string

Content type of the part; for a file: part an empty value means application/octet-stream. Send it for every part: a missing one fails the run.

Exampleapplication/pdf
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands each fetched answer to a separate background job, so the schedule does not wait for processing. Paging (selfTrigger) needs it false: the paging variable is only read from a job that ran in the foreground. A write that switches paging on and leaves this member as stored sets it to false; one that switches it on together with paging is refused.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
selfTrigger
boolean

true enables paging: after a job, if the mapping set the variable VAR_SYS_HTTP_PAGING_URL to a non-empty URL, the agent requests that URL next and runs the profile again, until the variable stays empty, the URL repeats (see continueHttpCronWithSameUrl) or maxPaging requests were made.

Defaultfalse
soapData
string

Request body sent with POST, PUT, PATCH, GETWITHCONTENT and DELETEWITHCONTENT (unless multipart parts are set), e.g. a JSON query or a SOAP envelope. %NAME% constants, date masks such as @yyyyMMdd@ and @NAME@ variables are resolved on each run.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string Required

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
validCertificateChain
boolean

true checks the target's TLS certificate chain against the trusted certificates and fails the request on an untrusted one; false accepts any server certificate.

Defaultfalse
webServiceRequest
boolean

true sends a SOAP request: soapData is posted (the method becomes POST unless PUT or PATCH is chosen), the SOAPAction header is derived from the envelope, multipart parts are dropped, and a non-2xx answer is checked for a SOAP fault.

Defaultfalse
core.IoTAgentSettings
object (core.IoTAgentSettings)
class
string

The type of this object, always core.IoTAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.IoTAgentSettings" ]
agentType
string

Which of the two ways the agent connects to OPC UA.

Valid values[ "OPC_Function", "Data_Subscriber" ]
Default"OPC_Function"
channelIds
Array of integer

Server model (agentType OPC_Function): IoT partner channels assigned to the profile, as numeric channel ids from GET /platform/api/partners/preview/{partnerId}/channels (type IoT). Not validated: a wrong id is stored as is.

integer (int64)
ignoreErrorStatus
boolean

Subscription model: when true, values read for subscriptionReadValueEntries go into the job even if the server reports a status other than Good; when false such a value makes the notification fail and no job starts.

Defaulttrue
notifyInitial
boolean

Subscription model: when true, the first notification right after the subscription starts (OPC UA servers send the current values then) also starts a job; when false it is skipped.

Defaulttrue
sendGenericOKResponse
boolean

Server model: when true, the OPC UA method has no output arguments and the caller only gets a generic success; when false it returns the fields of the target node IOT_Result as output arguments, so the target structure must have that node.

Defaulttrue
subscriptionAlias
string

Subscription model: alias of the OPC UA client connection to the external server; it must exist on the instance.

subscriptionIDs
Array of string

Subscription model: OPC UA node ids to subscribe to; with subscriptionType DataChange a change of any of them starts a job. Must not be empty for either subscriptionType: without ids no subscription is created at all.

string
subscriptionInterval
integer (int64)

Subscription model: publishing and sampling interval of the subscription in milliseconds; values below 1 are raised to 1. With subscriptionType Direct it is the interval at which jobs start.

Default1000
Example1000
subscriptionReadValueEntries
Array of object (core.IoTReadValueEntry)

Subscription model: nodes read on every notification and written into the job's XML as a tree, each entry as an element named by its outputIdentifier holding the node's value, its children as child elements. Required for subscriptionType Direct.

object

One node of the tree in subscriptionReadValueEntries of an IoT subscription agent: an OPC UA node read on every notification and the XML element its value is written to in the job's input, with nested children as child elements.

class
string

The type of this object, always core.IoTReadValueEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.IoTReadValueEntry" ]
children
Array of object (core.IoTReadValueEntry)

Nested entries, written as child elements of this entry's element.

name
string

Display name of the node; not written into the job's data.

nodeId
string

OPC UA node id to read. Without it the entry only produces a grouping element for its children.

Examplens=2;s=Machine1.Speed
outputIdentifier
string

Name of the XML element the node's value is written to; the element also carries the attributes nodeid, valdate, statuscode and statustext.

Default"ReadValue"
ExampleSpeed
subscriptionType
string

Subscription model: how the subscription reports values.

Valid values[ "Direct", "DataChange" ]
Default"Direct"
inputHandling
object (core.InputHandlingSettings)

How the raw input is received before parsing. null keeps every stored value.

class
string

The type of this object, always core.InputHandlingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.InputHandlingSettings" ]
archive
object (core.InputArchiveSettings)

The input arrives as an archive. null keeps every stored value.

class
string

The type of this object, always core.InputArchiveSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.InputArchiveSettings" ]
compressed
boolean

Whether the input data arrives already compressed as an archive of the given format.

Defaultfalse
encryption
string

Password protection of a ZIP/SEVEN_ZIP archive. The archive password itself is not settable through this API; a write keeps it. A stored password counts as configured whatever encryption says; see passwordConfigured.

Valid values[ "NONE", "PASSWORD", "AES_128", "AES_256" ]
Default"NONE"
format
string

Archive format of the input, used only while compressed is true.

Valid values[ "ZIP", "TAR", "TGZ", "JAR", "BZ2", "TAR_BZ2", "SEVEN_ZIP", "GZIP", "Z" ]
Default"ZIP"
encoding
string

Character encoding the input is read with in phase 2, a Java charset name (send UTF-8 for JSON). Must be a known charset name. An ISO-... name is read back in its short form (8859_1).

Default"8859_1"
ExampleUTF-8
skipAlreadyReceivedFiles
boolean

Skips a file already treated by Comm-Log; only meaningful for data received over a partner channel with Comm-Log active.

Defaultfalse
inputValidation
object (core.InputValidationSettings)

The checks the parser runs on the parsed source tree. null keeps every stored value.

class
string

The type of this object, always core.InputValidationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.InputValidationSettings" ]
checkMandatoryAndType
boolean

Whether the parser checks that every source field has a value where the structure marks it mandatory, and that the value parses as the field's type.

Defaultfalse
checkMinMax
boolean

Whether the parser checks a source field's value against its structure's minimum/maximum (for XML, length) constraints. Stored per document type: a value sent unchanged on a write that switches parsing.documentType leaves the new type's stored value alone. Not supported while an XML profile's parser is V4: switching it on there is rejected, and it is left out of the response.

Defaultfalse
edifact
object (core.EdifactValidationSettings)

Checks applied to EDIFACT input. null keeps every stored value.

class
string

The type of this object, always core.EdifactValidationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EdifactValidationSettings" ]
checkDeclaredCharset
boolean

Whether the character set the interchange declares is checked.

Defaultfalse
checkEnvelope
boolean

Whether the interchange envelope (UNB/UNZ) is checked.

Defaultfalse
validateUnoaUnob
boolean

Whether the data is validated against the UNOA/UNOB character set.

Defaultfalse
legacyTopLevelCheck
boolean

Whether only top-level source nodes that carry a value are checked, the pre-3.3.4 back-compatibility behaviour.

Defaultfalse
removeBlanks
boolean

Whether a fixed-length source field's padding is trimmed from its value before it is mapped.

Defaultfalse
semanticChecks
boolean

Whether the parser runs the source structure's semantic (cross-field) checks.

Defaultfalse
integrationSettings
object (core.ProfileIntegrationSettings)

Phase 5: the integration unit in unit that serialises the target tree after the mapping, e.g. core.JsonCreationIU or core.XMLCreationIU. A response unit sends that output when its contentType is core.ResponseContentType_IU; leave the unit out when no response unit sends it.

class
string

The type of this object, always core.ProfileIntegrationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ProfileIntegrationSettings" ]
configFile
string

Path of a configuration file on the Lobster server the integration unit reads, for a unit type that needs one (most do not). null keeps the stored value; send "" to clear it.

encoding
string

Character encoding the integration unit's own data is read in, as a Java charset name. null keeps the stored value.

Default"8859_1"
ExampleUTF-8
postExecutionClass
string

Fully qualified Java class name of a post-executor that processes the integration unit's output file before the response units run; empty runs none. Must be one of the post-executors installed on the instance (listed in ./etc/admin/datawizard/post_executer.properties), unless it is already the stored value - a legally stored value that no longer resolves survives an unrelated edit. null keeps the stored value; send "" to switch it off. Runs only when an integration unit produced output. Its configuration file is not settable through this API. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=POST_EXECUTER.

Examplecom.ebd.hub.datawizard.postexec.ZUGFerdPDF
realmClient
string

Client id of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default"eai-wizard"
realmFunction
integer (int32)

Function number of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default1000
realmSubFunction
integer (int32)

Sub-function number of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default0
realmSupplier
string

Supplier id of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default"eai-wizard"
runOnlyIfVariable
string

Name of a boolean target field or variable that gates whether the integration unit runs at all: empty always runs it, a non-empty name skips the unit for a record where that field or variable is not true. Ignored while unit is absent. null keeps the stored value; send "" to clear it.

unit
object (core.ProfileIU)

The integration unit that writes the target structure as a document: core.JsonCreationIU, core.XMLCreationIU, core.EdifactCreationIU, or core.GenericIntegrationUnit for any other class installed on the instance. Left out or null, the stored unit is kept, so a new profile then has none. Writing the same unit class as the one stored keeps its other parameters; writing a different class (or creating the unit) starts that class's parameters from its own defaults.

OneOf
core.GenericIntegrationUnit
object (core.GenericIntegrationUnit)
class
string

The type of this object, always core.GenericIntegrationUnit. Required where the member it is sent in accepts several types.

Valid values[ "core.GenericIntegrationUnit" ]
className
string

Fully qualified Java class name of the integration unit. Must be one of the classes installed on this instance, and not com.ebd.hub.datawizard.iu.NoActionUnit. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=INTEGRATION_UNIT.

Examplecom.ebd.hub.datawizard.iu.PDFFormFiller
params
object

The unit's free-form configuration, parameter name to string value; a unit created without it reads back with every one at its default. A key must be one the class declares. Omitting a key keeps the value already stored for it (or the class's own default, for a unit that is new or whose className just changed). Sending a key with an explicit null value removes it, and the unit then runs with it unset, which is not necessarily its default. A parameter whose name marks it as a credential (e.g. Excel password to open file) is a secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

core.EdifactCreationIU
object (core.EdifactCreationIU)
class
string

The type of this object, always core.EdifactCreationIU. Required where the member it is sent in accepts several types.

Valid values[ "core.EdifactCreationIU" ]
autoCreateEmptyMandatorySegments
boolean

Whether a mandatory EDIFACT segment or element with no mapped value is written empty rather than left out. Writing it empty produces an interchange the receiver's own mapper typically cannot handle (e.g. an empty segment group, a wrong UNT count); the underlying unit's own default is true, but a new unit defaults to false here instead. Left out on an already stored unit, the stored value survives; a stored unit that never set it reads back false, as it runs.

params
object

The unit's remaining settings, key to string value, e.g. {"Delimiters": ":+.? '"}. Keys: Add UNA-segment to result, Add value to segment counter, Cut line after 80 chars, Delimiters, Length to cut line, One EDI-document per record, Replace umlauts, Replace umlauts with checking case, Return EDIFACT in uppercase completely, Trim type (both,left,right), Trim values, Write message in one line. A key left out keeps its stored value (or its default, on a unit that is new or whose class just changed); a key sent as null is removed, and the unit then runs with it unset, which is not necessarily its default. Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

core.XMLCreationIU
object (core.XMLCreationIU)
class
string

The type of this object, always core.XMLCreationIU. Required where the member it is sent in accepts several types.

Valid values[ "core.XMLCreationIU" ]
params
object

This unit's remaining configuration (everything but rootName), parameter name to string value, e.g. {"Without XML-Header": "true"} (the class is com.ebd.hub.datawizard.iu.XMLNoTemplateUnit); a unit created without it reads back with every one at its default. A key must be one this class declares. Omitting a key keeps the value already stored for it (or the class's own default, for a unit that is new or whose class just changed). Sending a key with an explicit null value removes it, and the unit then runs with it unset, which is not necessarily its default. Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

rootName
string

Name of the target node that becomes the root element of the document; everything below it is written. Always set it: changing it must name a node of the target structure; a legally stored value survives an edit that does not touch it, even where it no longer resolves at run time.

ExampleInvoice
core.JsonCreationIU
object (core.JsonCreationIU)
class
string

The type of this object, always core.JsonCreationIU. Required where the member it is sent in accepts several types.

Valid values[ "core.JsonCreationIU" ]
params
object

This unit's remaining configuration (everything but startAtNode), parameter name to string value, e.g. {"Pretty print": "true"} (the class is com.ebd.hub.datawizard.iu.ExtendedJsonCreationUnit); a unit created without it reads back with every one at its default. A key must be one this class declares. Omitting a key keeps the value already stored for it (or the class's own default, for a unit that is new or whose class just changed). Sending a key with an explicit null value removes it, and the unit then runs with it unset, which is not necessarily its default: an unset Write values type safe is false, its default true. Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

startAtNode
string

Name of the target node the JSON starts at; the output is wrapped in that node's name (lines gives {"lines": [...]}). Empty or root writes the whole target structure, wrapped in the top node's name ({"PurchaseOrder": {...}}); give the start node xmlJsonMode TRANSPARENT to drop the wrapper. Changing it must name a node of the target structure; a legally stored value survives an edit that does not touch it, even where it no longer resolves at run time.

Examplelines
jobExecution
object (core.JobExecutionSettings)

How and how long a job runs. null keeps every stored value.

class
string

The type of this object, always core.JobExecutionSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.JobExecutionSettings" ]
limits
object (core.JobExecutionLimits)

Limits on the input a run accepts. null keeps every stored value.

class
string

The type of this object, always core.JobExecutionLimits. Required where the member it is sent in accepts several types.

Valid values[ "core.JobExecutionLimits" ]
maxInputSizeKb
integer (int32)

Maximum size in KB the input may have; 0 is unlimited. Must be at least 0.

Minimum0
Default0
maxRecords
integer (int32)

Maximum number of records a run processes. Must be at least 1; 2147483647 is unlimited.

Minimum1
Default2147483647
logPool
string

Alias of the log pool the profile's run history is written to; must name a log pool that exists on the instance when changed.

Default"STANDARD"
maxProcessingMinutes
integer (int32)

Minutes a run may take before a notification mail is sent; 0 is unlimited. Must be at least 0.

Minimum0
Default0
priority
string

Thread-pool priority the profile's jobs run at. Forced to NORMAL while singleInstance is true.

Valid values[ "VERY_LOW", "LOW", "NORMAL", "HIGH", "HIGHEST" ]
Default"NORMAL"
singleInstance
boolean

Strict serial processing: only one job of the profile runs at a time. Forces priority to NORMAL and responseSettings.asThread to false.

Defaultfalse
mappingBehaviour
object (core.MappingBehaviourSettings)

Phase 3 behaviour of the mapping (the trees themselves stay in mappingSettings). null keeps every stored value.

class
string

The type of this object, always core.MappingBehaviourSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingBehaviourSettings" ]
emptyValues
object (core.EmptyValueSettings)

How empty values are mapped. null keeps every stored value.

class
string

The type of this object, always core.EmptyValueSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EmptyValueSettings" ]
emptyIsNull
boolean

Treats an empty field value as "not existing" rather than as an empty string.

Defaulttrue
skipEmptyFields
boolean

Skips an empty field to save memory instead of mapping it as empty.

Defaulttrue
skipUnreferencedSourceFields
boolean

Ignores an empty source field to save memory.

Defaulttrue
fillAfterTemplate
boolean

Runs the filler again after a template operation.

Defaultfalse
fixRecordOutput
object (core.FixRecordOutputSettings)

FixRecord output. null keeps every stored value.

class
string

The type of this object, always core.FixRecordOutputSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.FixRecordOutputSettings" ]
fillNumericWithZero
boolean

Fills a numeric FixRecord output field with 0 instead of blanks.

Defaultfalse
mapper
string

The data mapper the mapping runs with. A V4 XML parser forces this to EXTENDED regardless of what is sent.

Valid values[ "SIMPLE", "EXTENDED" ]
Default"EXTENDED"
memory
object (core.MappingMemorySettings)

How the mapping holds its data. null keeps every stored value.

class
string

The type of this object, always core.MappingMemorySettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingMemorySettings" ]
swapAtPercent
integer (int32)

Memory-use percentage at which swapToDisk kicks in, 0 to 95.

Minimum0
Maximum95
Default70
swapToDisk
boolean

Writes mapped data to disk temporarily instead of holding it all in memory.

Defaulttrue
newRecordOnSingleChangedValue
boolean

Starts a new output record as soon as a single one of the fields configured in the mapping changes, instead of requiring all of them to change; only meaningful for a CSV, FIX, EXCEL, BWA, DB or SAP_ALE parsing.documentType.

Defaultfalse
typeSafeVariables
boolean

Whether resetOnNewRecord on a core.Variable resets it to initialValue re-created from its declared type, instead of to an empty string regardless of type.

Defaulttrue
useMatchCodeValues
boolean

Uses matchcode values for functions in the mapping.

Defaultfalse
valuesMayBeBase64
boolean

Allows field values to be Base64-encoded.

Defaultfalse
mappingSettings
object (core.MappingSettings)

Phase 3, the mapping: the source structure (the parsed input), the target structure (what the profile builds) and the links between their fields. Function chains, conditions and database settings live on the target nodes and fields.

class
string

The type of this object, always core.MappingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingSettings" ]
constants
Array of object (core.ConstantDefinition)

The profile's constants: fixed name/value pairs a mapping function or filter can read like a variable, but which never change while the profile runs. A PATCH that sends this list replaces the whole set; a null list keeps the stored one.

object

One entry of mappingSettings.constants: a fixed name/value pair a mapping function or filter can read like a variable, but which a profile can never change while it runs (unlike a variable).

class
string

The type of this object, always core.ConstantDefinition. Required where the member it is sent in accepts several types.

Valid values[ "core.ConstantDefinition" ]
name
string Required

The constant's name, unique within the list; a second entry with the same name overwrites the first one when the list is parsed back. Must not contain a tab or a newline.

Min length1
value
string

The constant's value, read as plain text wherever a mapping names the constant. Must not contain a tab or a newline.

mappings
Array of object (core.MappingLink)

The field links: each core.MappingLink copies a source field's value into a target field, both named by field name. One source field may feed several target fields; a target field takes one link. "For every source X produce a target Y" is not a link but the target node's path. A PATCH replaces the whole list, so send the existing links along with the new ones. Must name fields present in their structure.

object

A field link, one element of mappingSettings.mappings: the target field named in destination takes the value of the source field named in source, e.g. {"class": "core.MappingLink", "source": "qty", "destination": "quantity"}. The value is read from the source node instance the enclosing target node currently iterates (see path on core.DestinationNode), and a link may cross levels, e.g. a field of a nested source node into a field of the parent target node. A function chain on the target field sees the linked value as its LINK parameters, so a field whose chain reads LINK needs a link too.

class
string

The type of this object, always core.MappingLink. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingLink" ]
destination
string

Name of the target field that receives the value, exactly as in mappingSettings.targetStructure (case-sensitive). Must reference an existing target field. If the field also has functions, the last function's result becomes its value; a fixValue overrides both.

Examplequantity
source
string

Name of the source field whose value the link copies, exactly as in mappingSettings.sourceStructure (case-sensitive). Must reference an existing source field.

Exampleqty
sourceStructure
object (core.SourceDataStructure)

The tree the parser fills from the input: core.SourceNode and core.SourceField items. For JSON input the top-level JSON object is the top-level source node, and object keys match items by name. A PATCH that sends its nodes replaces the whole tree, so send it complete.

class
string

The type of this object, always core.SourceDataStructure. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceDataStructure" ]
namespaces
Array of object (core.NamespaceDefinition)

XML namespaces declared for this side of the tree: prefix is usable in core.DestinationNode.xmlNameSpace and matches an XML input's namespaced element names. A PATCH that sends this list replaces the whole set.

object

One XML namespace declared for a structure: prefix names it in core.DestinationNode.xmlNameSpace (prefix=uri or a bare prefix) and in an XML input's node/field names.

class
string

The type of this object, always core.NamespaceDefinition. Required where the member it is sent in accepts several types.

Valid values[ "core.NamespaceDefinition" ]
prefix
string Required

The namespace prefix; unique within the list, a second entry with the same prefix overwrites the first.

Min length1
Exampleord
uri
string Required

The namespace URI the prefix stands for.

Min length1
Exampleurn:example:order
nodes
Array of object (core.DataStructureItem)

The top-level items of the tree, in order; each nests its own items in children. Use one top-level node (minimum 1, maximum 1); a node named root, which the platform reserves, is stored as Root; a node name must be unique within the tree, after names are corrected (unless it is already stored that way and this write leaves names alone). A PATCH that sends this list replaces the whole tree.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
object (core.DestinationField)
class
string

The type of this object, always core.DestinationField. Required where the member it is sent in accepts several types.

Valid values[ "core.DestinationField" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

calculationField
boolean

Makes the field a helper that computes a value without writing it to the output, e.g. to fill a list, sum into a map or drop a record; its chain runs as usual.

Defaultfalse
children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
object (core.DestinationNode)
class
string

The type of this object, always core.DestinationNode. Required where the member it is sent in accepts several types.

Valid values[ "core.DestinationNode" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
core.SourceField
object (core.SourceField)
class
string

The type of this object, always core.SourceField. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceField" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

allowedValues
Array of string

The only values the field accepts, e.g. ["EUR", "USD"]: for JSON and XML input a value not in the list fails the job. * accepts anything, and a first entry regex:<pattern> makes the check a regular expression. Empty or left out, any value is accepted.

string
children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
core.SourceField
core.SourceNode
object (core.SourceNode)
class
string

The type of this object, always core.SourceNode. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceNode" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
core.SourceField
core.SourceNode
core.Node
object (core.Node)
OneOf
core.DestinationNode
core.SourceNode
core.AbstractField
object (core.AbstractField)
OneOf
core.DestinationField
core.SourceField
columnRowDelimiter
createNewRecord
dataProfile
dbAlias
description
fixRecordDelimiter
functions
inactive
iterationMode
lineBreak
localizationKey
matchCodes
maximum
minimum
name
newRecordAfter
note
optionalSettings
path
sourceObjectId
sqlTableOrProcedure
subNodesAreAlternative
xmlNameSpace
core.Node
core.AbstractField
columnRowDelimiter
dataEvent
dataType
defaultValue
description
iterationMode
length
localizationKey
mandatory
matchCodes
maximum
minimum
name
newRecordOnValueChange
note
showInList
sourceObjectId
template
xmlNameSpace
core.SourceNode
core.Node
core.AbstractField
createNewRecord
dbAlias
description
emptyTable
fieldDelimiter
functions
inactive
iterationMode
iterationNode
lineBreak
maximum
minimum
name
note
offsetVariable
onlyForSql
optimizePath
optionalPreSql
optionalSettings
optionalXpathFilter
path
relativePath
sortFieldName
sortingMode
sourceObjectId
sqlMode
sqlTableOrProcedure
stepSizeVariable
subNodesAreAlternative
transactionControl
xmlJsonMode
xmlNameSpace
core.SourceField
core.SourceNode
core.Node
core.AbstractField
dataType
description
fillFromLeft
fillWith
fixValue
functions
length
logFieldValue
mandatory
name
nameForLogging
note
skipEmptySqlValue
sourceObjectId
sqlAutoGenKey
sqlColumnName
sqlKey
template
useTemplate
xmlNameSpace
core.DestinationNode
core.SourceField
core.SourceNode
core.Node
core.AbstractField
template
treeName
targetStructure
variables
name
parsing
responseSettings
runtimeSettings
signature
skipMapping
splitting
tags
Responses
200

Profile updated.

Expand All
object

Standard Platform API success envelope. Every response carries exactly one of data (success) or error (failure) at top level.

data
object (core.IntegrationProfile)

An integration profile: what data comes in, how it is parsed and mapped, and where the result goes. It runs in six phases, each held by members of this object: 1 the input agent (inputAgentSettings), 2 parsing (parsing), 3 the mapping (mappingSettings), 4 optional database access (the SQL members of the target nodes and fields), 5 the integration unit that serialises the target tree (integrationSettings) and 6 the response units (responseSettings). Only name is required; a profile is live as soon as it is stored with active: true.

class
string

The type of this object, always core.IntegrationProfile. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationProfile" ]
active
boolean

Whether the profile runs. An active profile takes calls on its input agent (an HTTP alias answers under /dw/Request/<url>) and a Cron* agent runs on its schedule from the moment it is stored; the change takes effect at once.

Defaultfalse
archiving
object (core.ArchivingSettings)

What happens to the input data after a run. null keeps every stored value.

class
string

The type of this object, always core.ArchivingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ArchivingSettings" ]
handToArchiveSystem
boolean

Hands the input data over to the archive system after processing.

Defaultfalse
indexBackup
boolean

Indexes the input backup for search.

Defaultfalse
retainBackupDays
integer (int32)

Days a run's backup is retained. Must be at least -1, which follows the system-wide setting.

Minimum-1
Default-1
created
string

When the profile was created; assigned by the server.

databaseAccess
object (core.DatabaseAccessSettings)

Both database concerns in one place: the phase 4 SQL step after the mapping. null keeps every stored value.

class
string

The type of this object, always core.DatabaseAccessSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DatabaseAccessSettings" ]
phase4
object (core.Phase4Settings)

The SQL step run against a database after the mapping. null keeps every stored value.

class
string

The type of this object, always core.Phase4Settings. Required where the member it is sent in accepts several types.

Valid values[ "core.Phase4Settings" ]
continueOnSqlError
boolean

Continues with the next record when a phase 4 SQL statement errors, instead of failing the job.

Defaultfalse
enabled
boolean

Turns phase 4 on. Forced back to false while the profile's integrationSettings.unit is core.SqlBulkUnit.

Defaultfalse
onlyIfVariable
string

Name of a profile variable that must resolve to true at run time for phase 4 to execute; empty always runs phase 4 while enabled is true.

trimValues
boolean

Trims SQL values before they are used in phase 4.

Defaultfalse
source
object (core.DatabaseSourceSettings)

The statement a Cron-SQL input runs. null keeps every stored value.

class
string

The type of this object, always core.DatabaseSourceSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DatabaseSourceSettings" ]
connection
string

Name of the database connection (alias) to query; it must already exist on the instance and be allowed for the profile's client. %NAME% constants and variables are resolved.

deleteAfterRead
string

Whether, and how, the rows statement selected are deleted once the job has processed them.

Valid values[ "NONE", "MATCH_ROW", "WHERE_CLAUSE" ]
Default"NONE"
emptyResult
object (core.SourceEmptyResultSettings)

What the input does when statement returns no row. null keeps every stored value.

class
string

The type of this object, always core.SourceEmptyResultSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceEmptyResultSettings" ]
replacementData
string

The input used while useReplacement is true, in the same CSV shape a real result row would have. Empty by default.

useReplacement
boolean

Starts one job with replacementData as its input instead of starting none.

Defaultfalse
parameters
Array of object (core.SqlCronParameter)

Statement parameters bound positionally into statement. Left out keeps the stored ones; an empty list binds none.

object

One SQL statement parameter of a core.CronSqlAgentSettings agent, bound positionally. name is a display label, e.g. the parameter's position, not a bind variable name.

class
string

The type of this object, always core.SqlCronParameter. Required where the member it is sent in accepts several types.

Valid values[ "core.SqlCronParameter" ]
name
string

Display label of the parameter, e.g. its position.

Example1
value
string

Value bound for the parameter. %NAME% constants and profile variables are resolved.

statement
string

The SQL statement to run. Lines starting with -- are dropped. @0:t@ passes the time of the previous run as a statement parameter, so a run can read only new rows. %NAME% constants and variables are resolved.

ExampleSELECT id, name, amount FROM orders WHERE exported = 0
description
string

Free text saying what the profile does.

documentation
object (core.DocumentationSettings)

Notes and a documentation link of the profile. null keeps every stored value.

class
string

The type of this object, always core.DocumentationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DocumentationSettings" ]
documentationUrl
string

URL of external documentation for the profile, %CONST% fillers allowed. Must not carry credentials (user info). Empty by default.

Examplehttps://docs.acme.example/edi/purchase-order
importNote
string

Free-text note shown when the profile is imported (for example, path adjustments). Empty by default.

errorHandling
object (core.ErrorHandlingSettings)

What happens when a job fails. null keeps every stored value.

class
string

The type of this object, always core.ErrorHandlingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ErrorHandlingSettings" ]
continueReadOnParseError
boolean

CSV only: skips a record that fails to parse instead of failing the job. Applies only while parsing.documentType is CSV, otherwise a changed value is rejected.

Defaultfalse
edifactContrl
object (core.EdifactContrlSettings)

The EDIFACT CONTRL acknowledgement. null keeps every stored value.

class
string

The type of this object, always core.EdifactContrlSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EdifactContrlSettings" ]
enabled
boolean

Whether a CONTRL message is sent to the profile named in profile. Forced false while parsing.formatSettings.tradacoms is true; switching it on there is rejected.

Defaultfalse
profile
string

Name of the profile that sends the CONTRL message; not checked for existence on write.

exceptionProfile
string

Name of a profile to run when this one's job fails; must name an existing profile with a core.MessageAgentSettings input agent when changed - any other input agent type is never found for exception handling at run time. Empty runs none.

mailRecipient
string

Mail address notified when a job fails in phase 2 to 5 (parsing/mapping/database), distinct from responseSettings.errorRecipient which covers phase 6. Empty sends none.

Exampleops@acme.example
skipRecordOnError
boolean

Skips a record that errors instead of failing the whole job.

Defaultfalse
workflow
object (core.WorkflowReference)

The workflow to run when this profile's job fails, referenced by its id, which is the workflow's name. A profile that runs none reads back null; sending null keeps the stored workflow, an empty or null id runs none.

class
string

The type of this object, always core.WorkflowReference. Required where the member it is sent in accepts several types.

Valid values[ "core.WorkflowReference" ]
id
string

The workflow's name, which identifies it: the latest version of the workflow with this name is started, ignoring upper and lower case. An empty or null id runs none.

ExampleNotify Support
extensions
object (core.ExtensionSettings)

Pluggable Java classes the profile runs, and their parameter. Any change needs a data-admin session. null keeps every stored value.

class
string

The type of this object, always core.ExtensionSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ExtensionSettings" ]
environmentCheck
object (core.EnvironmentCheckSettings)

A check run before the job starts. null keeps every stored value.

class
string

The type of this object, always core.EnvironmentCheckSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EnvironmentCheckSettings" ]
className
string

Fully qualified Java class name of an environment check run before the job starts; must be one of the environment checks installed on the instance when changed. Empty runs none. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=ENVIRONMENT_CHECK.

parameter
string

Config file path for className; its content is not settable through this API.

postParser
object (core.PostParserSettings)

A postparser that runs after parsing. null keeps every stored value.

class
string

The type of this object, always core.PostParserSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.PostParserSettings" ]
className
string

Fully qualified Java class name of a postparser that runs after phase 2; must be one of the postparsers installed on the instance when changed. Empty runs none. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=POST_PARSER.

preParser
object (core.PreParserSettings)

A preparser that runs before parsing. null keeps every stored value.

class
string

The type of this object, always core.PreParserSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.PreParserSettings" ]
className
string

Fully qualified Java class name of a preparser that runs before phase 2; must be one of the preparsers installed on the instance when changed. com.ebd.hub.datawizard.parser.DummyPreParser skips the mapping while still handing the input on unchanged. Empty runs none. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=PRE_PARSER.

parameter
string

Config file path for className; its content is not settable through this API.

resultOverwritesBackup
boolean

Whether the preparser's result overwrites the backup of the original input.

Defaultfalse
governance
object (core.GovernanceSettings)

Administrative flags of the profile. null keeps every stored value.

class
string

The type of this object, always core.GovernanceSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.GovernanceSettings" ]
privateData
boolean

Marks the profile as holding private data. Only a data administrator may change it.

Defaultfalse
group
string

The id of the profile group the profile is listed under, as GET /platform/api/profiles/preview/groups returns it. Required on create: a missing, blank or root value, or an unknown id, is rejected as invalid. On an update by PATCH (also in overwrite mode), a missing, null or blank value keeps the stored group; a full replace by PUT must name the group, so there such a value is rejected as invalid. Any other value may only move the profile into an existing group, so root or an unknown id is rejected as invalid. A legacy value (such as Default, or root for a profile at the top level) is read back as stored and accepted while it stays unchanged.

Example6bb76781_199702d94be_2714_9a14992bf4897187_6bb76781_1996f5f9530_-8000
id
string

The profile's identifier, an opaque string such as -45e51368:1a0d2b4eb4f:59e3...:-8000; assigned by the server. Use it as-is in /platform/api/profiles/preview/{id}. It is not the name: references to a profile from other objects and mapping functions use name.

inputAgentSettings
object (core.ProfileInputAgentSettings)

Phase 1, how data arrives: one input agent object naming its type in class, e.g. core.HttpAgentSettings (the profile listens on /dw/Request/<url>) or a time-driven core.CronHttpAgentSettings, core.CronFileAgentSettings, ... that runs on a schedule.

OneOf
core.DataQueueAgentSettings
object (core.DataQueueAgentSettings)
class
string

The type of this object, always core.DataQueueAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.DataQueueAgentSettings" ]
alias
string

Database alias sqlStatement runs on, allowed for the profile's client; %name% constants are resolved. Only used when useSql is true.

className
string

Java class that inserts the entry into sqlStatement when useSql is true (replaces &1). A custom class must be installed on the instance.

Default"com.ebd.hub.datawizard.util.DefaultAS400DataHandler"
errorOnNoData
boolean

When true, an entry whose sqlStatement returns no rows is logged as a failed job; when false it is skipped silently. Only used when useSql is true.

Defaultfalse
factoryName
string

Id (factory name) of the cluster node that reads the queue in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

host
string

Host name or IP address of the IBM i (AS/400) system. %name% constants are resolved.

Exampleas400.example.com
interval
integer (int64)

Milliseconds between two polls of the queue. Each poll reads entries until the queue is empty; with an interval of up to one minute at most 50 entries per poll.

Minimum50
Default1000
Example1000
key
string

Key for a keyed data queue: when set, the queue is read as a keyed queue and only entries with exactly this key are read. Empty reads a normal (non-keyed) queue.

queue
string

Integrated file system path of the data queue object.

Example/QSYS.LIB/MYLIB.LIB/ORDERS.DTAQ
skipExecution
Array of object (core.DataQueueSkipExecution)

Weekly time windows in which the queue is not read, e.g. a nightly backup of the IBM i system. Empty: the queue is polled all the time the profile is active.

object

A weekly time window in which a data queue agent does not read its queue: it starts on day at hour:minute (server time) and lasts duration minutes. One element of skipExecution.

class
string

The type of this object, always core.DataQueueSkipExecution. Required where the member it is sent in accepts several types.

Valid values[ "core.DataQueueSkipExecution" ]
day
string

Day of the week the window starts.

Valid values[ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
Default"SUNDAY"
duration
integer (int32)

Length of the window in minutes.

Example120
hour
integer (int32)

Hour of the day the window starts, 0 to 23.

minute
integer (int32)

Minute of the hour the window starts, 0 to 59.

sqlStatement
string

SQL query run against the database alias for every entry read when useSql is true; with the default className every &1 is replaced by the entry text, unescaped. Line breaks are replaced by spaces. The result rows, as comma-separated CSV, become the job's input; no rows means no job (see errorOnNoData).

ExampleSELECT * FROM ORDERS WHERE ORDERNO = '&1'
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

useSql
boolean

When true, each entry read is not processed itself but used as parameter of sqlStatement on alias, and the query result is the job's input; when false the entry text is the input.

Defaultfalse
user
string

User profile the agent signs on to the IBM i system with. %name% constants are resolved. A failed sign-on is logged at runtime, not rejected on save.

core.HttpAgentSettings
object (core.HttpAgentSettings)
class
string

The type of this object, always core.HttpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentSettings" ]
acceptEmptyBody
boolean

What a POST, PUT or PATCH without body does. false refuses it with status 500 and runs no job; true runs the job with a placeholder document, e.g. { "body": "data" } for JSON input.

Defaultfalse
acceptEmptyResponse
boolean

true answers every successful call with status 204 and no body, taking precedence over useResponseOnSuccess and responseOnSuccess.

Defaultfalse
acceptHttpDelete
boolean

true lets DELETE calls reach this profile. Its body is read only with deleteHasPayload; otherwise the job gets a placeholder document.

Defaultfalse
acceptHttpGet
boolean

true lets GET calls reach this profile. A GET carries no body: the job gets a placeholder document, and the query parameters as MSG_CALL_<NAME> variables. A call with a method the agent does not accept does not match it.

Defaultfalse
acceptHttpHead
boolean

true lets HEAD calls reach this profile; the job gets a placeholder document.

Defaultfalse
acceptHttpPatch
boolean

true lets PATCH calls reach this profile; the request body is the job's input.

Defaultfalse
acceptHttpPost
boolean

true lets POST calls reach this profile; the request body is the job's input.

Defaulttrue
acceptHttpPut
boolean

true lets PUT calls reach this profile; the request body is the job's input.

Defaultfalse
acceptREST
boolean

true makes this a REST endpoint: calls to any sub-path of url match too, e.g. orders/v1/42; the part after url is put into the variable MSG_CALL_HTTP_PATH_DATA and split into named variables by restUrlPlaceholder.

Defaultfalse
apiResponseTestFiles
Array of object (core.HttpAgentTestFile)

Response examples for the generated OpenAPI document, taken from the profile's sample-response files; a listed file that does not exist can make the ?api request fail. Has no effect on calls.

object

An example file shown in the OpenAPI document an HTTP input agent generates for its profile; one element of apiTestFiles (request examples) or apiResponseTestFiles (response examples). The file itself is not transferred through this API: it must already be stored with the profile. The for* flags choose for which HTTP operations of the document it is the example.

class
string

The type of this object, always core.HttpAgentTestFile. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentTestFile" ]
forDelete
boolean

true uses the file as example for the DELETE operation.

Defaultfalse
forGet
boolean

true uses the file as example for the GET operation.

Defaultfalse
forHead
boolean

true uses the file as example for the HEAD operation.

Defaultfalse
forPatch
boolean

true uses the file as example for the PATCH operation.

Defaultfalse
forPost
boolean

true uses the file as example for the POST operation.

Defaultfalse
forPut
boolean

true uses the file as example for the PUT operation.

Defaultfalse
path
string

File name of the example, relative to the profile's folder for such files: its test-mapping samples for request examples, its sample responses for response examples. A request example that does not exist there is left out of the document.

Exampleorder.json
apiTestFiles
Array of object (core.HttpAgentTestFile)

Request examples for the generated OpenAPI document, taken from the profile's test-mapping sample files. Has no effect on calls.

object

An example file shown in the OpenAPI document an HTTP input agent generates for its profile; one element of apiTestFiles (request examples) or apiResponseTestFiles (response examples). The file itself is not transferred through this API: it must already be stored with the profile. The for* flags choose for which HTTP operations of the document it is the example.

class
string

The type of this object, always core.HttpAgentTestFile. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentTestFile" ]
forDelete
boolean

true uses the file as example for the DELETE operation.

Defaultfalse
forGet
boolean

true uses the file as example for the GET operation.

Defaultfalse
forHead
boolean

true uses the file as example for the HEAD operation.

Defaultfalse
forPatch
boolean

true uses the file as example for the PATCH operation.

Defaultfalse
forPost
boolean

true uses the file as example for the POST operation.

Defaultfalse
forPut
boolean

true uses the file as example for the PUT operation.

Defaultfalse
path
string

File name of the example, relative to the profile's folder for such files: its test-mapping samples for request examples, its sample responses for response examples. A request example that does not exist there is left out of the document.

Exampleorder.json
asyncRequest
boolean

true hands the call to background processing and answers at once, before the job has run: with responseOnSuccess (or 204 with acceptEmptyResponse). A response unit can then not return data, so with useResponseOnSuccess: false the caller gets an error.

Defaultfalse
authenticationType
string

HTTP authentication scheme the caller must use when authentication is required (see channelIds).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
channelIds
Array of integer

Ids of the partners' HTTP channels allowed to call this agent; list them with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). When set, a caller must authenticate as one of these channels (its remoteId as user plus its password, or a token accepted for it), else it gets 401. Empty requires no authentication. The ids are stored as sent, without checking that they exist.

integer (int64)
deleteHasPayload
boolean

true reads the body of a DELETE call as the job's input, like for POST. Only relevant with acceptHttpDelete.

Defaultfalse
enableApi
boolean

true publishes a generated API description of the endpoint: <url>?api returns an OpenAPI document as JSON (?api&yaml as YAML), for a SOAP agent <url>?wsdl the WSDL. With false such calls run the profile like any other call.

Defaulttrue
errorCode
string

HTTP status sent with responseOnError when the job fails, as text; a %NAME% constant may be used. A value that is not a number, or below 100, falls back to 500 at run time. Empty or blank on a write is treated the same as absent. Always 500 while webservice is true.

Default"500"
Example500
errorCodeSettings
Array of object (core.HttpAgentErrorCode)

Error bodies for further HTTP statuses besides errorCode, e.g. a status a mapping raises with 480 throw http exception and an empty message. Also listed as error responses in the generated OpenAPI document.

object

Error body for one further HTTP status of an HTTP input agent; one element of errorCodeSettings. When a failed job answers with statusCode (other than the agent's errorCode), e.g. through the mapping function 480 throw http exception with an empty message, the caller receives responseMsg instead of responseOnError. Also listed as an error response in the profile's generated OpenAPI document.

class
string

The type of this object, always core.HttpAgentErrorCode. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentErrorCode" ]
responseMsg
string

Body sent with that status. The placeholders of responseOnError work here too: {--Exception--}, {--ExceptionBase64--}, {--FullStackTraceException--}, @VAR_JOBNR@.

statusCode
integer (int32)

HTTP status code this body is for, 100 to 599.

Example404
invisibleForDmz
boolean

true refuses calls that reach the instance through the Lobster DMZ server (answered 404 as if no profile matched); only calls made directly to the instance get through.

Defaultfalse
jwtScopes
string

OAuth2 scopes a JWT bearer token must carry to call this agent, separated by spaces; all listed scopes are required, more are fine, a token missing one gets 403. Empty checks no scopes. Only checked when the caller authenticates with a JWT bearer token.

Exampleorders.read orders.write
mimeType
string

Content type of the answer to the caller, on success and when the job fails. A value containing json also makes the error placeholders JSON-escaped. Sent as the answer's Content-Type; a charset in it only labels the body and does not convert it. The profile output is sent as written, so set the unit's encoding to match the charset (e.g. application/json; charset=UTF-8). A fixed response message is sent as UTF-8, except when the input is unpacked as an archive (compressed input): then it is sent as ISO-8859-1. The job-error text is always ISO-8859-1, whatever charset is declared. Also the media type of the responses in the generated OpenAPI document.

Default"text/html"
Exampleapplication/json
multiPartFileKey
string

For a multipart/form-data call: name of the part that carries the data to process. Empty takes the part named file if there is one, else the first file part. The other parts become variables MSG_CALL_HTTP_MULTIPART<n>_NAME / _VALUE, their count MSG_CALL_HTTP_MULTIPARTS.

Exampledocument
namespaceUrl
string

Target namespace of the WSDL generated for a SOAP agent and of its default SOAP answer. Only used while webservice is true.

Default"http://tempuri.org"
params
Array of object (core.HttpAgentParam)

Elements named to match one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other element is unaffected.

object

A request parameter a call must carry for this profile to be chosen; one element of params of an HTTP or data-product input agent. A call without it, or with a value not listed, does not reach this profile. Not needed just to read a parameter: every query parameter of a call is available as the variable MSG_CALL_<NAME>.

class
string

The type of this object, always core.HttpAgentParam. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentParam" ]
name
string

Name of the query or form parameter; compared case-insensitively. %NAME% constants are resolved.

Min length1
Examplemode
values
Array of string

Accepted values; the call's value must equal one of them exactly (case-sensitive), e.g. ["fast", "full"]. * accepts any value, regex:<pattern> a value the whole pattern matches, e.g. regex:[0-9]+; %NAME% constants are resolved. An empty list never matches, so the profile becomes unreachable; use ["*"] to require only the parameter's presence.

string
responseOnError
string

Body sent with status errorCode when the job fails. Without webservice, absent or blank defaults to [Job-Id @VAR_JOBNR@] failed. Placeholders: {--Exception--} (error text), {--ExceptionBase64--}, {--FullStackTraceException--}, @VAR_JOBNR@; for a JSON mimeType the inserted texts are escaped for JSON, and with webservice the body is wrapped in a SOAP fault.

responseOnSuccess
string

Fixed body sent to the caller after a successful job while useResponseOnSuccess is true; @VAR_JOBNR@ and @VAR_SYS_MESSAGE_ID@ are replaced with the job number and message id. Always used for an archive (e.g. ZIP) upload.

Example{"status": "ok", "job": "@VAR_JOBNR@"}
restUrlPlaceholder
string

Names for the path segments after url in REST mode: a call to <url>/berlin/42 sets the variables MSG_CALL_HTTP_REST_API_PATH_shop = berlin and MSG_CALL_HTTP_REST_API_PATH_petId = 42. A leading or trailing / is removed. Only evaluated while acceptREST is true.

Example{shop}/{petId}
swaggerResponseDesc
string

Description of the success response in the generated OpenAPI document; only used while responseOnSuccess is empty, and Success! when this is empty too. Has no effect on calls.

swaggerTransformerVersion
string

Generator of the ?api OpenAPI document. Has no effect on calls.

Valid values[ "Legacy", "Jackson" ]
Default"Legacy"
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

url
string

Path the agent listens on, appended to <instance>/dw/Request/. Leading and trailing / do not matter; the rest must match exactly, unless acceptREST also admits sub-paths. Keep it unique: when several active profiles match a call (same path, method and params), one of them is taken.

Exampleorders/v1
useResponseOnSuccess
boolean

How the caller's success answer is produced. true sends the fixed text responseOnSuccess; false sends what a response unit with returnResponseToCaller: true hands back, and if none does the caller gets an error. Ignored while acceptEmptyResponse is true. With false, input that is split into several messages or an archive is refused.

Defaulttrue
webservice
boolean

true makes this a SOAP web service: ?wsdl serves a generated WSDL (see wsdlCreator, namespaceUrl), errors are answered as SOAP faults with status 500 (ignoring errorCode), and multipart parts are not turned into variables. Through this API, acceptHttpPost, acceptHttpGet, acceptHttpHead and acceptHttpDelete keep the values sent.

Defaultfalse
wsdlCreator
string

How the WSDL and the success answer of a SOAP agent are built: com.ebd.hub.datawizard.util.creator.DefaultWSDLCreator answers with a fixed SOAP envelope carrying the job number (ProfileReferenceID), whatever useResponseOnSuccess says; com.ebd.hub.datawizard.util.creator.ResponseWSDLCreator derives the WSDL from the target structure. Only used while webservice is true.

Default"com.ebd.hub.datawizard.util.creator.DefaultWSDLCreator"
core.CronOftpAgentSettings
object (core.CronOftpAgentSettings)
class
string

The type of this object, always core.CronOftpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronOftpAgentSettings" ]
acceptEmptyFiles
boolean

Stored but not evaluated: the OFTP agent processes every received file, whatever its size.

channel
object (core.IntegrationPartnerChannelOFTP)

The OFTP partner channel to call, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type OFTP). Checked on write and read back resolved. Required: without it every run fails with "No OFTP partner channel set". The host comes from the channel's address. Its direction must be OUT or IN_AND_OUT, because the call opens the connection; this is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelOFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelOFTP" ]
aceEnabled
boolean

Whether the certificates are exchanged with this partner automatically. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.OftpProtocol)

Transports the partner may use. The editor exposes TCPIP and TCPIP_TLS; ISDN is also represented for existing channels. null, an empty list or omission keeps the stored allowance.

Example["TCPIP", "TCPIP_TLS"]
string

An OFTP transport allowed by allowedProtocols on an OFTP channel.

  • ISDN: OFTP over ISDN.
  • TCPIP: OFTP over TCP/IP without TLS.
  • TCPIP_TLS: OFTP over TCP/IP with TLS.
Valid values[ "ISDN", "TCPIP", "TCPIP_TLS" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
creditCount
integer (int32)

The credit count of the OFTP session. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
doubleCdSendingAllowed
boolean

Whether the platform may send the change-direction command twice in a row. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
eerpSigningRequired
boolean

Whether the partner's end-to-end responses must be signed. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
encryptionAlgorithm
string

The encryption algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to AES256.

Default"AES256"
Pattern^(AES256|DESede|RSA-OAEP)$
endpointUrl
string

The partner's OFTP server the platform connects to; oftps:// uses TLS (commonly port 6619).

Pattern^oftps?://.+
Exampleoftp://oftp.acme.example:3305
exchangeBufferSize
integer (int32)

The size of the exchange buffer in bytes. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSsid
string

The platform's own OFTP identifier (SSID) toward this partner. Required on create; a write may not blank it.

Min length1
ExampleO0013000000LOBSTER
maximumProtocolReleaseLevel
string

The highest OFTP protocol release the platform offers. Leaving it out keeps the stored value, null restores the default.

Valid values[ "V1_2", "V1_3", "V1_4", "V2_0" ]
Default"V2_0"
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
oftp2TslName
string

The name of the trusted service list the partner's certificate is checked against. An empty string restores the default; leaving it out keeps the stored value, null restores it too.

Default"OFTP2"
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
pendingLocalCertificateId
string

Id of the platform's own certificate (with private key) that takes over as localCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example44
pendingRemoteCertificateId
string

Id of the partner's certificate (public key) that takes over as remoteCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example45
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertSubject
string

The subject of the partner's certificate the platform looks for when remoteCertificateId names none. Leaving it out keeps the stored value, null or an empty string removes it.

ExampleCN=oftp.acme.example
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteSfid
string

The partner's OFTP identifier - the SSID it presents when it connects, which assigns the session to this channel. Must be unique among OFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that no partner presents.

ExampleO0013000000ACME
secureAuthenticationMandatory
boolean

Whether the partner must authenticate securely. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendRestartDisabled
boolean

Whether an interrupted send is never resumed, but started again from the beginning. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signatureAlgorithm
string

The signature algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to SHA1.

Default"SHA1"
Pattern^(SHA1|SHA256|SHA512|SHA3_512)$
strictSfidChecking
boolean

Whether the SFID of every incoming file must match one the partner is allowed to send. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
tlsCipherName
string

The TLS cipher suite to use. An empty string removes the preference; leaving it out keeps the stored value, null resets it to the default.

ExampleTLS_AES_256_GCM_SHA384
userIncomingDirectory
string

The directory on the platform incoming files of this partner go to. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/in
userOutgoingDirectory
string

The directory on the platform outgoing files for this partner are taken from. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/out
x25WindowSize
integer (int32)

The X.25 window size. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
destination
string

Recipient SFID. Stored but not evaluated: the call uses the identities of channel.

errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

host
string

Host name or address to call; non-empty overrides the channel's address. null resets it to the default.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
oftpByTcpIp
boolean

true calls over TCP/IP, which oftpTLS then secures; false calls over ISDN. null resets it to the default.

Defaulttrue
oftpDmzOption
string

Whether the call goes through the Lobster DMZ.

Valid values[ "NO_DMZ", "DMZ", "DMZ_BY_SYSTEM" ]
Default"DMZ_BY_SYSTEM"
oftpPort
integer (int32)

Port to call; a value above 0 overrides the port of the channel's address. Omitted on create it is stored as 6619, which then overrides the channel's port, so send 0 to use the channel's port.

Example6619
oftpServiceName
string

Name of the OFTP service on the instance that makes the call; only change it where several OFTP services are installed.

Default"OftpService"
oftpTLS
boolean

true connects over TCP/IP with TLS, false over plain TCP/IP. It also decides the port used when neither oftpPort nor the channel's address has one: 6619 with TLS, 3305 without.

Defaulttrue
origin
string

Sender SFID. Stored but not evaluated: the call uses the identities of channel.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every received file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.FTPAgentSettings
object (core.FTPAgentSettings)
class
string

The type of this object, always core.FTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.FTPAgentSettings" ]
acceptEmptyFiles
boolean

true also processes uploaded files of zero bytes; false skips them with a log entry.

Defaultfalse
channels
Array of object (core.IntegrationPartnerChannelFTP)

FTP partner channels whose logins may deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type FTP). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an FTP channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An FTP connection with the partner, in either direction: the partner logs in to the platform's FTP server as remoteId and lands in remotePath, and the platform connects to the partner's server at host and port. Referenced by core.CronFtpAgentSettings.channel (fetch), core.FtpProfileResponseUnit.channel (send) and core.FTPAgentSettings.channels (partners allowed to upload). The partner's login password is remotePassword; the password the platform uses at the partner's server is not settable through this API, give it in the cron job or response unit instead. Channel list filter type=FTP.

class
string

The type of this object, always core.IntegrationPartnerChannelFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.FtpProtocol)

FTP flavours the partner may log in to the platform's FTP server with: any of FTP, FTPS_EXPLICIT, FTPS_IMPLICIT. At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits all three.

Example["FTPS_EXPLICIT", "FTPS_IMPLICIT"]
string

An FTP flavour the partner may use to log in to the platform's FTP server: allowedProtocols of an FTP channel.

  • FTP: Plain FTP, unencrypted.
  • FTPS_EXPLICIT: FTPS explicit: the connection starts plain and upgrades to TLS (AUTH TLS).
  • FTPS_IMPLICIT: FTPS implicit: TLS from the first byte.
Valid values[ "FTP", "FTPS_EXPLICIT", "FTPS_IMPLICIT" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's FTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Exampleftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

User name the platform logs in with at the partner's FTP server; its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
onlyHome
boolean

Whether the partner, logged in on the platform's FTP server as remoteId, is confined to its home directory (remotePath) and cannot change to a directory above it. null or left out keeps the stored value; a new channel is not confined.

partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
port
integer (int32)

TCP port of the partner's FTP server; left out, the address carries no port. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Example21
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

User name the partner logs in with on the platform's FTP server; its password is remotePassword. Must be unique among all FTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password)

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's FTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. The FTP server refuses every login to a channel without one. Left out or blank on create, the server picks <client default channel directory>ftp/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ftp/acme
reuseSslSession
boolean

Whether the control connection's TLS session is reused for the data connections of an FTPS transfer when the platform connects to the partner; some servers refuse a data connection without it. Leaving it out keeps the stored value, null resets it to true; a new channel reuses the session.

Defaulttrue
virtualRoot
boolean

Whether the partner, logged in on the platform's FTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. Leaving it out keeps the stored value, null resets it to false; a new channel shows the real path.

Defaultfalse
whiteListAddresses
Array of string

Addresses the partner may log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
dir
string

Sub-directory, relative to the partner's home directory on the Lobster FTP/SFTP server, that an upload must land in for this profile; separate several with ;. $USER$ is replaced by the uploading partner's login name. Empty accepts uploads in any directory.

Examplein/orders
fileName
string

File-name pattern a file the partner uploads must match for this profile to take it. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and <yyyyMMdd> is replaced by the current date. If several profiles accept an upload, the one with the longest matching dir and the most specific pattern wins.

ExampleORDERS_*.csv|INVOIC_*.csv
processOnLogout
boolean

true collects the files a partner uploads during one session and processes them only when the partner logs out; false processes each file as soon as its upload is complete.

Defaultfalse
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronPop3AgentSettings
object (core.CronPop3AgentSettings)
class
string

The type of this object, always core.CronPop3AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronPop3AgentSettings" ]
channel
object (core.IntegrationPartnerChannelMail)

The Mail partner channel whose mailbox is polled, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type Mail). Checked on write and read back resolved. Server, protocol, login and password come from the channel; host, port and user override them when set. The channel must allow POP3 or IMAP retrieval respectively, otherwise every run fails. Without a channel host and user are required, and the password cannot be set through the API. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelMail. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelMail" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.MailChannelProtocol)

What the channel may be used for: any of SMTP and ASMTP (sending mail, without and with a login) and POP3 and IMAP (fetching mail). At least one must stay allowed (an empty list leaves the stored allowance unchanged), and POP3 and IMAP are mutually exclusive (the editor keeps one); null or left out keeps the stored allowance, which on a new channel permits all four.

Example["SMTP", "IMAP"]
string

A mail protocol the channel may be used with: allowedProtocols of a mail channel.

  • SMTP: SMTP: sending mail without login.
  • ASMTP: ASMTP: sending mail through an SMTP server that requires a login.
  • POP3: POP3: fetching mail from a POP3 mailbox.
  • IMAP: IMAP: fetching mail from an IMAP mailbox.
Valid values[ "SMTP", "ASMTP", "POP3", "IMAP" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing mails; used only when the channel sends encrypted. Not validated on save. null or left out keeps the stored value.

Default"AES"
ExampleAES
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
imapFolder
string

IMAP folder mail is fetched from; a directory set in the IMAP cron job overrides it.

Default"INBOX"
ExampleINBOX/orders
incomingMaxSize
integer (int64)

Largest incoming mail accepted on this channel, in bytes. Must be at most 1073741824 (1024 MB). null (or leaving it out on create) means no limit, and an unlimited channel reads back null.

Minimum1
Example10485760
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

The platform's own mail address on this channel; matched case-insensitively, so an incoming mail is assigned to the channel whatever case it is addressed in, while the address is stored and read back as given. Unless the channel stores its own SMTP or retrieval user name, the platform logs in with this address, so changing it changes that login too. null or left out keeps the stored value.

Exampleedi@lobster.example
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's mail address, stored in lower case; an SMTP response unit sends to it unless the unit names its own receiver. A channel that receives mail should hold exactly one address; this API does not check. Left out, the server fills a placeholder address (mail...@mail.org).

Exampleedi@acme.example
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
retrievalAuthMechanism
string

SASL mechanism for the POP3/IMAP login when mail is fetched through this channel; left out, the mail library negotiates one.

ExampleXOAUTH2
retrievalServerUrl
string

POP3/IMAP server the platform fetches mail from through this channel (pop3://, pop3s://, pop3es://, imap://, imaps:// or imapes://; the s variants are TLS, the es variants STARTTLS). Another scheme is accepted as given and fails when mail is retrieved. null or left out keeps the stored value.

Exampleimaps://mail.acme.example:993
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing mails; used only when the channel sends signed. Not validated on save. null or left out keeps the stored value.

Default"SHA256"
ExampleSHA256
smtpAuthMechanism
string

SASL mechanism for the SMTP login, case-insensitive; OAuth2 tokens are not settable through this API. Left out, the mail library negotiates one.

ExamplePLAIN
smtpServerUrl
string

SMTP server that mails to this partner are sent through (smtp:// default port 25, smtps:// 465, smtpes:// for STARTTLS). A host or port set in the SMTP response unit overrides it.

Pattern^(smtp|smtps|smtpes)://.+
Examplesmtps://mail.acme.example:465
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dmz
boolean

Not used by POP3 and IMAP: the mail is always fetched directly. Leave it false.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

handleUnknownMailData
string

What happens to a mail body or attachment that no rule in mailDispatchSettings accepts: STORE_UNRESOLVED stores it in the instance's 'unresolved' folder and sends the unresolved-data notification, DISCARD discards it.

Valid values[ "STORE_UNRESOLVED", "DISCARD" ]
Default"STORE_UNRESOLVED"
host
string

Host name of the mail server; overrides the server of channel when set. Empty uses the channel's. Placeholders such as %NAME% are resolved.

Exampleimap.example.com
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailDispatchSettings
Array of object (core.MailDispatchRule)

Rules that decide, for the body and for each attachment of a fetched mail, which profile processes it. They are checked in list order and the first matching rule whose profile is usable wins; scoring does not reorder them. Sending the member replaces all rules. Data no rule accepts is handled as handleUnknownMailData says, so an empty list sends everything there; at least one rule is required.

object

One routing rule of a mail agent, an element of mailDispatchSettings of a POP3, IMAP or X.400 agent. The agent checks the rules in list order against the body and against each attachment of a fetched mail, and hands the data to the profile of the first active rule whose criteria all match (contentType, filePattern, channel, sender, to, cc, subject, mimeType) and whose profile is usable. An empty criterion does not filter. Send sender, subject and filePattern explicitly, "" meaning no filter: an omitted one is stored without a value, which the matching does not handle.

class
string

The type of this object, always core.MailDispatchRule. Required where the member it is sent in accepts several types.

Valid values[ "core.MailDispatchRule" ]
active
boolean

false switches the rule off, so it is skipped.

Defaulttrue
cc
string

One mail address that must be among the mail's CC recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
channel
integer (int64)

Id of a partner channel the mail must belong to, checked as matchChannel says; the platform assigns incoming mails to partner channels, and an X.400 mail without one gets the agent's channel. List channels with GET /platform/api/partners/preview/{partnerId}/channels. Stored as sent without any check. 0 does not filter by channel.

Default0
Example4711
contentType
string

Which part of a mail the rule applies to.

Valid values[ "BODY", "ATTACHMENT", "BODY_AND_ATTACHMENT", "NONE" ]
Default"ATTACHMENT"
exactMatchSubject
boolean

true requires the subject to equal subject, ignoring case; false only requires it to contain subject. Not used when subject is a regex: expression.

Defaultfalse
filePattern
string

Pattern the attachment's file name must match (* and ? wildcards ignoring case, | alternatives, regex: regular expressions); * or "" accepts every attachment. Only checked for attachments.

ExampleORDERS_*.edi|INVOIC_*.edi
mailType
string

Kind of agent the rule belongs to. Left out on an existing rule, the stored kind is kept.

Valid values[ "POP3", "IMAP", "X400" ]
Default"POP3"
matchChannel
string

How channel is checked. Only evaluated when channel is not 0.

Valid values[ "POLLING_CHANNEL", "SET_CHANNEL", "OWN_IDENTIFIER", "IGNORE" ]
Default"IGNORE"
mimeType
string

Content type the mail body must have for a body rule, compared case-insensitively with the content types of the body. Only checked for the body (contentType BODY or BODY_AND_ATTACHMENT) and ignored for X.400; without a value no body matches.

Exampletext/plain
profileName
string

Name of the profile that processes the matching data; a profile's id is its name, see GET /platform/api/profiles/preview. Empty means the agent's own profile. The target must belong to the same client, be active, not be a master template and be within its validity period; otherwise the rule is skipped and the next one is tried.

scoring
integer (int64)

Ranking used to sort a rule list by how specific a rule is. The agent ignores it and checks the rules in list order; stored as sent, 0 is fine.

sender
string

Text the sender's address must contain, ignoring case; with mailType X400 an X.400 address the sender must match. "" does not filter.

Example@partner.example
subject
string

Text the subject must contain, ignoring case, or equal with exactMatchSubject; a value starting with regex: is a regular expression the whole subject must match. "" does not filter.

to
string

One mail address that must be among the mail's To recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

Port of the mail server; a value above 0 overrides the port of channel. Omitted on create it is stored as 21, which then overrides the channel's port, so send 0 to use the channel's port.

Example993
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every mail body and attachment to a separate background job and continues at once, so several jobs run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
skipCorruptMail
boolean

true skips a mail that cannot be read or parsed and continues with the next one; false aborts the run at such a mail.

Defaultfalse
supportSMIME
boolean

Stored but not read: S/MIME handling of the fetched mails is always enabled.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

user
string

Login name at the mail server; overrides the retrieval user of channel when set. Empty uses the channel's.

core.MQTTAgentSettings
object (core.MQTTAgentSettings)
class
string

The type of this object, always core.MQTTAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MQTTAgentSettings" ]
alias
string

Name of the MQTT connection (broker, credentials, MQTT version) to subscribe with; it must exist on the instance.

binaryConverterClassName
string

Java class name of a custom binary converter, meant for complexDataType BINARY. Stored, but the MQTT agent does not call it.

complexDataType
string

Structured payload type. Omit it for plain text or numbers read as genericDataType.

Valid values[ "XML", "JSON", "BINARY" ]
delimiter
string

Text put between the messages when finalValueFunction is ALL and complexDataType is not set; NL stands for a line break (CRLF). Empty: the messages are concatenated without separator.

Example,
factoryName
string

Id (factory name) of the cluster node that runs this agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

filters
Array of object (core.MessageFilter)

Function chain that decides, for each message that arrives while the buffer is not yet full, whether the collected messages (including this one) are handed on early: the chain runs on the message text and the buffer is forwarded when its last result is true. It does not drop messages. Only evaluated with messageBufferSize above 1 and only when mqttConditions is absent; an empty mqttConditions list disables it too.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

What the job receives from the collected messages. Without complexDataType, MIN, MAX and AVG need a numeric genericDataType (INTEGER, FLOAT, BIG_DECIMAL or BIG_INTEGER) and ALL works for STRING, INTEGER, FLOAT, BIG_DECIMAL and BIG_INTEGER; any other combination produces no job. With complexDataType JSON or XML, ALL combines the messages (see there) and every other value passes the last message on.

Valid values[ "MIN", "MAX", "AVG", "ALL", "LAST" ]
Default"LAST"
genericDataType
string

Type the whole message payload is read as for mqttConditions and finalValueFunction. mqttConditions support STRING, INTEGER, DOUBLE, DATE (yyyy-MM-dd), FLOAT and BIG_INTEGER. A message that does not parse as the type fails the check. Keep STRING when complexDataType is set.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
messageBufferSize
integer (int32)

Number of messages collected before they are handed on together as one job, combined by finalValueFunction. 1 starts one job per message; timeout, mqttConditions and filters only have an effect above 1.

Default1
messageIntervalCheck
integer (int32)

Not evaluated by the MQTT agent: mqttConditions and filters are checked on every message.

Default1
mqttConditions
Array of object (core.MqttConditionEntry)

Conditions that hand the collected messages on early: when a message that arrives before the buffer is full matches any value of any entry, the buffer including this message is forwarded. The whole message is compared, read as genericDataType; entries are OR-linked. They do not drop messages. Only evaluated with messageBufferSize above 1; when present (even as an empty list), filters are ignored.

object

One entry of mqttConditions of an MQTT, Kafka or AMQP (Legacy) agent: a comparison (condition) and the values the whole received message is compared with, read as the agent's genericDataType. The entry matches when the message matches any of its values; the entries of the list are OR-linked. A match hands the buffered messages on early, it does not filter messages out.

class
string

The type of this object, always core.MqttConditionEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.MqttConditionEntry" ]
condition
string

Comparison to apply. Text (genericDataType STRING) supports REGEX, CONTAINS, EQUALS and NOT; numbers support EQUALS, NOT and the four comparisons; dates only SMALLER, GREATER and EQUALS; any other combination never matches. Required; a missing or unknown name is rejected. A later entry with the same condition replaces an earlier one.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values the message is compared with, written in the agent's genericDataType, e.g. dates as 2024-12-31 or a regular expression for REGEX. Every value must parse as that type, otherwise the check fails.

string
qos
string

MQTT quality of service of the subscription.

Valid values[ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ]
Default"AT_LEAST_ONCE"
timeout
integer (int32)

Seconds after which the messages collected so far are handed on as one job even though fewer than messageBufferSize have arrived; checked about every 5 seconds. 0 waits until the buffer is full. Only meaningful with messageBufferSize above 1.

Default0
topic
string

Topic filter to subscribe to (MQTT wildcards + and # are allowed). %name% constants are resolved.

Exampleplant1/+/temperature
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.OFTPAgentSettings
object (core.OFTPAgentSettings)
class
string

The type of this object, always core.OFTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.OFTPAgentSettings" ]
channels
Array of object (core.IntegrationPartnerChannelOFTP)

OFTP partner channels allowed to deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type OFTP). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an OFTP channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An OFTP connection with the partner: both sides' OFTP identifiers, the partner's OFTP server and the certificates. Needs localSsid; remoteSfid and endpointUrl are filled from defaults when absent. Referenced by core.CronOftpAgentSettings.channel (fetch), core.OftpProfileResponseUnit.channel (send) and core.OFTPAgentSettings.channels (partners allowed to deliver). The session passwords and additional SFIDs are not settable through this API; channel list filter type=OFTP.

class
string

The type of this object, always core.IntegrationPartnerChannelOFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelOFTP" ]
aceEnabled
boolean

Whether the certificates are exchanged with this partner automatically. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.OftpProtocol)

Transports the partner may use. The editor exposes TCPIP and TCPIP_TLS; ISDN is also represented for existing channels. null, an empty list or omission keeps the stored allowance.

Example["TCPIP", "TCPIP_TLS"]
string

An OFTP transport allowed by allowedProtocols on an OFTP channel.

  • ISDN: OFTP over ISDN.
  • TCPIP: OFTP over TCP/IP without TLS.
  • TCPIP_TLS: OFTP over TCP/IP with TLS.
Valid values[ "ISDN", "TCPIP", "TCPIP_TLS" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
creditCount
integer (int32)

The credit count of the OFTP session. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
doubleCdSendingAllowed
boolean

Whether the platform may send the change-direction command twice in a row. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
eerpSigningRequired
boolean

Whether the partner's end-to-end responses must be signed. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
encryptionAlgorithm
string

The encryption algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to AES256.

Default"AES256"
Pattern^(AES256|DESede|RSA-OAEP)$
endpointUrl
string

The partner's OFTP server the platform connects to; oftps:// uses TLS (commonly port 6619).

Pattern^oftps?://.+
Exampleoftp://oftp.acme.example:3305
exchangeBufferSize
integer (int32)

The size of the exchange buffer in bytes. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSsid
string

The platform's own OFTP identifier (SSID) toward this partner. Required on create; a write may not blank it.

Min length1
ExampleO0013000000LOBSTER
maximumProtocolReleaseLevel
string

The highest OFTP protocol release the platform offers. Leaving it out keeps the stored value, null restores the default.

Valid values[ "V1_2", "V1_3", "V1_4", "V2_0" ]
Default"V2_0"
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
oftp2TslName
string

The name of the trusted service list the partner's certificate is checked against. An empty string restores the default; leaving it out keeps the stored value, null restores it too.

Default"OFTP2"
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
pendingLocalCertificateId
string

Id of the platform's own certificate (with private key) that takes over as localCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example44
pendingRemoteCertificateId
string

Id of the partner's certificate (public key) that takes over as remoteCertificateId once it is activated, for a certificate exchange in preparation. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example45
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertSubject
string

The subject of the partner's certificate the platform looks for when remoteCertificateId names none. Leaving it out keeps the stored value, null or an empty string removes it.

ExampleCN=oftp.acme.example
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteSfid
string

The partner's OFTP identifier - the SSID it presents when it connects, which assigns the session to this channel. Must be unique among OFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that no partner presents.

ExampleO0013000000ACME
secureAuthenticationMandatory
boolean

Whether the partner must authenticate securely. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendRestartDisabled
boolean

Whether an interrupted send is never resumed, but started again from the beginning. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signatureAlgorithm
string

The signature algorithm for OFTP messages. Leaving it out keeps the stored value, null resets it to SHA1.

Default"SHA1"
Pattern^(SHA1|SHA256|SHA512|SHA3_512)$
strictSfidChecking
boolean

Whether the SFID of every incoming file must match one the partner is allowed to send. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
tlsCipherName
string

The TLS cipher suite to use. An empty string removes the preference; leaving it out keeps the stored value, null resets it to the default.

ExampleTLS_AES_256_GCM_SHA384
userIncomingDirectory
string

The directory on the platform incoming files of this partner go to. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/in
userOutgoingDirectory
string

The directory on the platform outgoing files for this partner are taken from. An empty string removes it; leaving it out keeps the stored value, null removes it too.

Example/data/oftp/acme/out
x25WindowSize
integer (int32)

The X.25 window size. 0 removes the setting; leaving it out keeps the stored value, null removes it too.

Minimum0
Default0
destination
string

Destination SFID (Odette id of the recipient) the file must be addressed to, compared case-insensitively; a trailing * matches every id starting with the text before it. Empty accepts any.

ExampleO0013000000LOB*
fileName
string

Pattern the virtual file (dataset) name must match, case-insensitive: wildcards * and ?, several patterns separated by |, regex:<expression> for a regular expression, and date placeholders like <yyyyMMdd>. addval:<key> takes the pattern from the additional value <key> of the delivering channel.

Default"*.*"
origin
string

Originator SFID (Odette id of the sender) the file must come from, compared case-insensitively; a trailing * matches every id starting with the text before it. Empty accepts any.

processOnLogout
boolean

When true, received files are collected and processed only when the partner ends the OFTP session; when false, each file is processed as soon as it arrives.

Defaultfalse
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronImapAgentSettings
object (core.CronImapAgentSettings)
class
string

The type of this object, always core.CronImapAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronImapAgentSettings" ]
channel
object (core.IntegrationPartnerChannelMail)

The Mail partner channel whose mailbox is polled, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type Mail). Checked on write and read back resolved. Server, protocol, login and password come from the channel; host, port and user override them when set. The channel must allow POP3 or IMAP retrieval respectively, otherwise every run fails. Without a channel host and user are required, and the password cannot be set through the API. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelMail. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelMail" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.MailChannelProtocol)

What the channel may be used for: any of SMTP and ASMTP (sending mail, without and with a login) and POP3 and IMAP (fetching mail). At least one must stay allowed (an empty list leaves the stored allowance unchanged), and POP3 and IMAP are mutually exclusive (the editor keeps one); null or left out keeps the stored allowance, which on a new channel permits all four.

Example["SMTP", "IMAP"]
string

A mail protocol the channel may be used with: allowedProtocols of a mail channel.

  • SMTP: SMTP: sending mail without login.
  • ASMTP: ASMTP: sending mail through an SMTP server that requires a login.
  • POP3: POP3: fetching mail from a POP3 mailbox.
  • IMAP: IMAP: fetching mail from an IMAP mailbox.
Valid values[ "SMTP", "ASMTP", "POP3", "IMAP" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing mails; used only when the channel sends encrypted. Not validated on save. null or left out keeps the stored value.

Default"AES"
ExampleAES
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
imapFolder
string

IMAP folder mail is fetched from; a directory set in the IMAP cron job overrides it.

Default"INBOX"
ExampleINBOX/orders
incomingMaxSize
integer (int64)

Largest incoming mail accepted on this channel, in bytes. Must be at most 1073741824 (1024 MB). null (or leaving it out on create) means no limit, and an unlimited channel reads back null.

Minimum1
Example10485760
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

The platform's own mail address on this channel; matched case-insensitively, so an incoming mail is assigned to the channel whatever case it is addressed in, while the address is stored and read back as given. Unless the channel stores its own SMTP or retrieval user name, the platform logs in with this address, so changing it changes that login too. null or left out keeps the stored value.

Exampleedi@lobster.example
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's mail address, stored in lower case; an SMTP response unit sends to it unless the unit names its own receiver. A channel that receives mail should hold exactly one address; this API does not check. Left out, the server fills a placeholder address (mail...@mail.org).

Exampleedi@acme.example
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
retrievalAuthMechanism
string

SASL mechanism for the POP3/IMAP login when mail is fetched through this channel; left out, the mail library negotiates one.

ExampleXOAUTH2
retrievalServerUrl
string

POP3/IMAP server the platform fetches mail from through this channel (pop3://, pop3s://, pop3es://, imap://, imaps:// or imapes://; the s variants are TLS, the es variants STARTTLS). Another scheme is accepted as given and fails when mail is retrieved. null or left out keeps the stored value.

Exampleimaps://mail.acme.example:993
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing mails; used only when the channel sends signed. Not validated on save. null or left out keeps the stored value.

Default"SHA256"
ExampleSHA256
smtpAuthMechanism
string

SASL mechanism for the SMTP login, case-insensitive; OAuth2 tokens are not settable through this API. Left out, the mail library negotiates one.

ExamplePLAIN
smtpServerUrl
string

SMTP server that mails to this partner are sent through (smtp:// default port 25, smtps:// 465, smtpes:// for STARTTLS). A host or port set in the SMTP response unit overrides it.

Pattern^(smtp|smtps|smtpes)://.+
Examplesmtps://mail.acme.example:465
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dir
string

IMAP folder to read; when not empty it overrides the folder set on channel. Date masks and variables are resolved.

ExampleINBOX
dmz
boolean

Not used by POP3 and IMAP: the mail is always fetched directly. Leave it false.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

handleUnknownMailData
string

What happens to a mail body or attachment that no rule in mailDispatchSettings accepts: STORE_UNRESOLVED stores it in the instance's 'unresolved' folder and sends the unresolved-data notification, DISCARD discards it.

Valid values[ "STORE_UNRESOLVED", "DISCARD" ]
Default"STORE_UNRESOLVED"
host
string

Host name of the mail server; overrides the server of channel when set. Empty uses the channel's. Placeholders such as %NAME% are resolved.

Exampleimap.example.com
imapMoveDir
string

IMAP folder the fetched mails are moved to instead of being deleted; it must already exist, otherwise the run fails. Empty deletes fetched mails.

ExampleProcessed
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailDispatchSettings
Array of object (core.MailDispatchRule)

Rules that decide, for the body and for each attachment of a fetched mail, which profile processes it. They are checked in list order and the first matching rule whose profile is usable wins; scoring does not reorder them. Sending the member replaces all rules. Data no rule accepts is handled as handleUnknownMailData says, so an empty list sends everything there; at least one rule is required.

object

One routing rule of a mail agent, an element of mailDispatchSettings of a POP3, IMAP or X.400 agent. The agent checks the rules in list order against the body and against each attachment of a fetched mail, and hands the data to the profile of the first active rule whose criteria all match (contentType, filePattern, channel, sender, to, cc, subject, mimeType) and whose profile is usable. An empty criterion does not filter. Send sender, subject and filePattern explicitly, "" meaning no filter: an omitted one is stored without a value, which the matching does not handle.

class
string

The type of this object, always core.MailDispatchRule. Required where the member it is sent in accepts several types.

Valid values[ "core.MailDispatchRule" ]
active
boolean

false switches the rule off, so it is skipped.

Defaulttrue
cc
string

One mail address that must be among the mail's CC recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
channel
integer (int64)

Id of a partner channel the mail must belong to, checked as matchChannel says; the platform assigns incoming mails to partner channels, and an X.400 mail without one gets the agent's channel. List channels with GET /platform/api/partners/preview/{partnerId}/channels. Stored as sent without any check. 0 does not filter by channel.

Default0
Example4711
contentType
string

Which part of a mail the rule applies to.

Valid values[ "BODY", "ATTACHMENT", "BODY_AND_ATTACHMENT", "NONE" ]
Default"ATTACHMENT"
exactMatchSubject
boolean

true requires the subject to equal subject, ignoring case; false only requires it to contain subject. Not used when subject is a regex: expression.

Defaultfalse
filePattern
string

Pattern the attachment's file name must match (* and ? wildcards ignoring case, | alternatives, regex: regular expressions); * or "" accepts every attachment. Only checked for attachments.

ExampleORDERS_*.edi|INVOIC_*.edi
mailType
string

Kind of agent the rule belongs to. Left out on an existing rule, the stored kind is kept.

Valid values[ "POP3", "IMAP", "X400" ]
Default"POP3"
matchChannel
string

How channel is checked. Only evaluated when channel is not 0.

Valid values[ "POLLING_CHANNEL", "SET_CHANNEL", "OWN_IDENTIFIER", "IGNORE" ]
Default"IGNORE"
mimeType
string

Content type the mail body must have for a body rule, compared case-insensitively with the content types of the body. Only checked for the body (contentType BODY or BODY_AND_ATTACHMENT) and ignored for X.400; without a value no body matches.

Exampletext/plain
profileName
string

Name of the profile that processes the matching data; a profile's id is its name, see GET /platform/api/profiles/preview. Empty means the agent's own profile. The target must belong to the same client, be active, not be a master template and be within its validity period; otherwise the rule is skipped and the next one is tried.

scoring
integer (int64)

Ranking used to sort a rule list by how specific a rule is. The agent ignores it and checks the rules in list order; stored as sent, 0 is fine.

sender
string

Text the sender's address must contain, ignoring case; with mailType X400 an X.400 address the sender must match. "" does not filter.

Example@partner.example
subject
string

Text the subject must contain, ignoring case, or equal with exactMatchSubject; a value starting with regex: is a regular expression the whole subject must match. "" does not filter.

to
string

One mail address that must be among the mail's To recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

Port of the mail server; a value above 0 overrides the port of channel. Omitted on create it is stored as 21, which then overrides the channel's port, so send 0 to use the channel's port.

Example993
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every mail body and attachment to a separate background job and continues at once, so several jobs run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
skipCorruptMail
boolean

true skips a mail that cannot be read or parsed and continues with the next one; false aborts the run at such a mail.

Defaultfalse
supportSMIME
boolean

Stored but not read: S/MIME handling of the fetched mails is always enabled.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

user
string

Login name at the mail server; overrides the retrieval user of channel when set. Empty uses the channel's.

core.CronMongodbAgentSettings
object (core.CronMongodbAgentSettings)
class
string

The type of this object, always core.CronMongodbAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronMongodbAgentSettings" ]
alias
string

Name of the MongoDB connection to read from; it must already exist on the instance and be allowed for the profile's client. @name@ variables are resolved.

collectionName
string

Name of the collection in databaseName to query. @name@ variables are resolved.

Exampleorders
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
databaseName
string

Name of the MongoDB database. @name@ variables are resolved.

Exampleshop
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
jsonType
string

How documents are written as JSON.

Valid values[ "JSON", "BSON" ]
Default"JSON"
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxBatchSize
integer (int32)

With oneDocument: number of documents per array, so each block of that size becomes one job. 0 or 1 puts all documents into one array; ignored when it is not smaller than maxRows.

Default0
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxRows
integer (int32)

Maximum number of documents a find reads per run. 0 or less means no limit.

Default2147483647
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
oneDocument
boolean

true combines the documents of a run into one JSON array [{...}, {...}] processed as a single job (split by maxBatchSize); false processes every document as its own job.

Defaultfalse
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

projection
string

JSON projection for a find that selects the fields to return. Empty returns whole documents. Not used for an aggregation query.

Example{"_id": 0, "orderNo": 1, "total": 1}
query
string

A JSON filter document for a find; empty reads every document. A JSON array instead runs an aggregation pipeline, e.g. [{"$match": {"status": "open"}}], and then projection and the maxRows limit are not applied. @0:t@ inserts the time of the previous run as yyyy-MM-dd'T'HH:mm:ss.SSS'Z', so a run can read only new documents.

Default"{}"
Example{"status": "open"}
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.AmqpV2AgentSettings
object (core.AmqpV2AgentSettings)
class
string

The type of this object, always core.AmqpV2AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AmqpV2AgentSettings" ]
accumulation
object (core.AccumulationSettings)

Message-buffering configuration for this agent; see core.AccumulationSettings. Only acknowledgmentMode IMMEDIATE can have it enabled.

class
string

The type of this object, always core.AccumulationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationSettings" ]
aggregation
string

How the buffered payloads are combined into the job's data when the buffer flushes.

Valid values[ "CONCAT", "CONCAT_SEPARATOR", "XML_WRAP", "JSON_ARRAY", "FINAL_VALUE" ]
Default"CONCAT"
comparators
Array of object (core.AccumulationComparator)

Payload comparisons that flush the buffer early: each entry is checked against the newest message's payload, read as payloadDataType, and entries are OR-composed with each other and with filters, maxCount, maxAgeSeconds and maxTotalBytes - any one of them flushes. Sending the member replaces the whole list.

object

One payload comparison of AccumulationSettings.comparators: operator checked against the newest buffered message's payload, read as payloadDataType, for each of values. Several values are OR-composed for the same operator, e.g. two EQUALS values flush on either.

class
string

The type of this object, always core.AccumulationComparator. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationComparator" ]
operator
string

Comparison to apply: REGEX and CONTAINS need payloadDataType STRING; SMALLER, GREATER, SMALLER_EQUALS and GREATER_EQUALS need BIG_INTEGER, BIG_DECIMAL or DATE; EQUALS and NOT work with every supported payloadDataType. A value that fails to parse as payloadDataType fails the whole check for that message. Required.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values compared against the payload; must not be empty. Compared as text for REGEX and CONTAINS, otherwise parsed as payloadDataType.

string
enabled
boolean

true buffers messages instead of starting a job for each. While false no other member is validated. At least one of maxCount, maxAgeSeconds or maxTotalBytes must then be above 0, else the profile is rejected.

Defaultfalse
filters
Array of object (core.MessageFilter)

Function chain conditions that flush the buffer early, evaluated on the newest message like comparators (see core.MessageFilter), but through a mapping function chain instead of a fixed operator. OR-composed with comparators, maxCount, maxAgeSeconds and maxTotalBytes.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

Which buffered payload is kept when aggregation is FINAL_VALUE; ignored otherwise. MIN, MAX and AVG need payloadDataType BIG_INTEGER or BIG_DECIMAL; LAST works with every payloadDataType.

Valid values[ "MIN", "MAX", "AVG", "LAST" ]
Default"LAST"
maxAgeSeconds
integer (int32)

Seconds since the oldest buffered message that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example60
maxCount
integer (int32)

Number of buffered messages that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example100
maxTotalBytes
integer (int64)

Total buffered payload size in bytes that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example1048576
metadataStrategy
string

Which buffered message's file name, sender and variables the flushed job carries: FIRST or LAST message's, COLLECT_INDEXED all of them with an index suffix, COMMON_ONLY only the values every buffered message agrees on.

Valid values[ "FIRST", "LAST", "COLLECT_INDEXED", "COMMON_ONLY" ]
Default"FIRST"
payloadDataType
string

Type each buffered message's payload is read as for comparators and, with aggregation FINAL_VALUE, for finalValueFunction. comparators only work with STRING, BIG_INTEGER, BIG_DECIMAL or DATE; a finalValueFunction other than LAST needs BIG_INTEGER or BIG_DECIMAL.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
separator
string

Text put between the buffered payloads when aggregation is CONCAT_SEPARATOR; ignored otherwise.

Default","
xmlWrapRootName
string

Name of the root element the buffered payloads are wrapped in when aggregation is XML_WRAP; ignored otherwise. Must not be blank.

Default"concat-root"
acknowledgmentMode
string

When a delivery is settled relative to the job it starts, and whether a reply is produced. Message buffering (accumulation) is only available with IMMEDIATE.

Valid values[ "IMMEDIATE", "AFTER_PROCESSING", "RPC" ]
Default"IMMEDIATE"
alias
string

Name of the AMQP v2 connection to receive through; it must exist on the instance and be allowed for the profile's client, otherwise the agent is not started (only logged, the profile still saves). A write that sets an alias outside a restricted client's allow-list is refused, listing the allowed ones. The alias decides the protocol (AMQP 0.9.1, AMQP 1.0 or JMS).

Min length1
amqp091DeclareDurable
boolean

AMQP 0.9.1 only: whether the declared queue/exchange is durable. In destinationType QUEUE it declares the consumed queue durable, in TOPIC it declares both the exchange and amqp091QueueName durable (needs a name then).

Defaultfalse
amqp091ExchangeType
string

AMQP 0.9.1 only, only relevant while consuming via an exchange (destinationType TOPIC): the exchange kind bound with amqp091RoutingKey.

Valid values[ "TOPIC", "DIRECT" ]
amqp091PrefetchCount
integer (int32)

AMQP 0.9.1 only: number of messages the broker may deliver without an acknowledgment. 0 uses the broker default.

Default0
Example10
amqp091QueueName
string

AMQP 0.9.1 only, only for destinationType TOPIC: name of the queue declared and bound to the exchange; empty means a server-named, auto-delete queue. A durable declaration (amqp091DeclareDurable) needs a name, since a server-named queue cannot be durable. %name% constants are resolved.

amqp091RequeueOnFailure
boolean

AMQP 0.9.1 only: whether a nacked message is requeued (true) instead of dead-lettered (false). Only relevant with a synchronous acknowledgmentMode (AFTER_PROCESSING / RPC).

Defaultfalse
amqp091RoutingKey
string

AMQP 0.9.1 only, only for destinationType TOPIC: binding key for the exchange named by destinationName (wildcards * and #). %name% constants are resolved.

Exampleorders.#
clientId
string

The client (AMQP container) id the receiver connections identify themselves with at the broker. Ignored for an AMQP 0.9.1 alias. Pinned on the connection whenever set for AMQP 1.0, only for a durable subscription for JMS (a JMS provider refuses a second connection holding an id already in use). Must be set together with subscriptionName for a durable subscription: the broker identifies it by client id plus subscription name. Must be unique per broker. %name% constants are resolved.

destinationName
string

Name of the queue or topic (see destinationType) to consume from. %name% constants are resolved.

Min length1
Exampleorders.in
destinationType
string

What destinationName names.

Valid values[ "QUEUE", "TOPIC" ]
Default"QUEUE"
durableSubscription
boolean

Whether the subscription is durable, i.e. survives times without a connected receiver. Only meaningful for destinationType TOPIC on an AMQP 1.0 or JMS alias; ignored for AMQP 0.9.1 and for destinationType QUEUE. Requires subscriptionName and clientId.

Defaultfalse
factoryName
string

Id (factory name) of the cluster node that receives in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

jmsMessageSelector
string

JMS only: SQL-92 selector expression filtering the received messages. Empty receives all. %name% constants are resolved.

ExampleNewsType = 'Sports'
jmsUnsubscribeOnStop
boolean

JMS only, only with durableSubscription true: whether the durable subscription is removed from the broker when the agent stops, so messages published meanwhile are not kept for it.

Defaultfalse
qualityOfService
string

Delivery guarantee the consumer requests from the broker. A synchronous acknowledgmentMode (AFTER_PROCESSING or RPC) requires AT_LEAST_ONCE.

Valid values[ "AT_LEAST_ONCE", "AT_MOST_ONCE" ]
Default"AT_LEAST_ONCE"
shutdownTimeoutSeconds
integer (int32)

Seconds a synchronous acknowledgmentMode (AFTER_PROCESSING / RPC) waits for the in-flight job on shutdown/restart before it is cut off. 0 or negative falls back to 30. Ignored for acknowledgmentMode IMMEDIATE.

Example30
subscriptionName
string

Name identifying the durable subscription on the broker, scoped to clientId: together they must be unique per broker. Only used when durableSubscription is true. %name% constants are resolved.

typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.PortalAgentSettings
object (core.PortalAgentSettings)
class
string

The type of this object, always core.PortalAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.PortalAgentSettings" ]
allowAnonymousAccess
boolean

true lets anyone open the form without logging in; roles and userIds must then be empty. Switching it back to false later does not remove the public access from an existing form.

Defaultfalse
eventTimeout
integer (int32)

Milliseconds the form in the browser waits after an input before it requests dependent (dynamic) content from the server.

Default500
Example500
form
string

Class name of the form renderer. Stored only: the DataCockpit form is built from the profile's source structure, not from this value. Leave the default.

Default"de.lobster.data.portal.forms.BaseForm"
image
string

The form's image, Base64-encoded; empty removes it. null keeps the stored value.

localizedProfileNames
object

map

noLogs
boolean

true hides the job logs from the form's users.

Defaultfalse
readOnly
boolean

true makes the form a mask without a save option, e.g. a search mask.

Defaultfalse
roles
Array of string

DataCockpit role names whose users may open the form. Copied into the form's access assignments only when the DataCockpit form is first created for the profile; later changes do not alter an existing form. Must be empty while allowAnonymousAccess is true.

string
synchronous
boolean

true runs the profile while the user waits and reports success or the error back to the form; false starts it in the background and returns at once, so errors are not shown to the user.

Defaulttrue
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

upload
boolean

true turns the form into a pure file upload: the user uploads data instead of filling in fields.

Defaultfalse
userIds
Array of string

DataCockpit users who may open the form, each given by user id or login name. Like roles, only applied when the DataCockpit form is first created; must be empty while allowAnonymousAccess is true.

string
core.CronFileAgentSettings
object (core.CronFileAgentSettings)
class
string

The type of this object, always core.CronFileAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronFileAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
channel
object (core.IntegrationPartnerChannelSMB)

The SMB partner channel the directory is read through, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type SMB). Checked on write and read back resolved. Leave it out for a local directory; left out on an update, the stored channel stays. A channel that was deleted reads as no channel.

class
string

The type of this object, always core.IntegrationPartnerChannelSMB. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSMB" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the SMB file server - no scheme, port or path. Replaces <SMBHOST> in the file path of a cron job or response unit that uses this channel. Required on create; a write may not blank it.

Min length1
Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplefileserver.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localId
string

Identity of the channel, composed by the server as //<host>/<smbUser>@<smbDomain> in lower case; it follows host, smbUser and smbDomain and cannot be written. It is the channel's uniqueness key, so a channel without smbUser reads //<host>/null@<smbDomain> (without a domain, no @ part) and collides with every other such channel on the same host.

Example//fileserver/svc-edi@acme
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
remoteId
string

Internal identity of the channel, generated by the server (an AUTO_CREATE_... value); it has no meaning for the SMB connection and cannot be written.

share
string

Share name, stored as the path of the channel's smb:// address (a leading / is added). Needs host. The file cron job and response unit take only the host from the channel, so name the share in their file path as well.

Exampleedi
smbDomain
string

Windows domain the SMB login authenticates in; a domain set in the cron job or response unit wins. Required on create; a write may not blank it.

Min length1
ExampleACME
smbUser
string

Account used during SMB authentication, next to smbDomain. Required on create; a write may not blank it. null or left out keeps the stored value.

Min length1
Examplesvc-edi
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes: right away when they are skipped (acceptEmptyFiles false), and after pickup when they are processed, even if fileHandling is NONE.

Defaultfalse
dirIsMounted
boolean

true treats a directory that does not exist as empty: it is only noted in the trace log and the run does not fail, e.g. for a network share that is not always mounted.

Defaultfalse
directory
string

Directory on the Lobster server to scan; separate several with ;. Date masks such as <yyyyMMdd>, %NAME% constants and @MSG_CALL_<name>@ variables are resolved. A missing directory fails the run unless dirIsMounted is true; one that cannot be read is logged as an error and skipped. If the instance restricts file access with a path whitelist, the directory must be on it.

Example/data/in/orders
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

excludeHour
integer (int32)

Hours part of an age limit that excludeMinute and excludeSecond complete: files last modified longer ago than this duration are skipped. All three 0 disables the limit. fileOlderThan flips it to skip files younger than the duration instead.

Default0
Example24
excludeMinute
integer (int32)

Minutes part of the age limit described at excludeHour.

Default0
excludeSecond
integer (int32)

Seconds part of the age limit described at excludeHour.

Default0
factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file once it has been picked up. RENAME is not supported by these agents and behaves like NONE. DELETE needs write access to the file and its directory; a file it cannot delete is skipped with an error.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
fileOlderThan
boolean

Whether the age limit of excludeHour, excludeMinute and excludeSecond skips files modified longer ago (true) or files younger than the duration (false). null resets it.

Defaulttrue
filePattern
string

Pattern the names of the files to pick up must match. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and regex2: makes the whole value one regular expression. <yyyyMMdd> or @yyyyMMdd@ insert the current date, %NAME% a constant, @MSG_CALL_<name>@ a trigger variable. Names starting with . are always ignored; the file agent fails the run if the pattern is empty.

Default"*"
ExampleORDERS_*.xml|INVOIC_*.xml
fileSortAscending
boolean

true sorts ascending (A to Z, oldest first), false descending. Only used when the files are sorted, see fileSortItem.

Defaulttrue
fileSortItem
string

Order in which the files of a run are processed, in the direction of fileSortAscending. The cloud storage agent always sorts: by name for NAME, by last-modified time otherwise.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
lockFile
string

Full path of a lock file. If it exists when a run starts, the run is skipped with a log entry; otherwise the agent creates it for the duration of the run and deletes it afterwards, so runs and a cooperating writer do not overlap. Date masks and variables are resolved. Empty disables it.

Example/data/in/orders/.lock
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

readTempFiles
boolean

true also picks up files whose name starts with ~, which the file agent otherwise skips as temporary files. The cloud storage agent does not evaluate it and never skips such files.

Defaultfalse
recursiveDir
boolean

true also picks up matching files from all sub-directories of the scanned directories, at any depth. Ignored by the file agent when singleFile is true.

Defaultfalse
runInBackground
boolean

true hands every file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
singleFile
boolean

true treats filePattern as one exact file name looked up in each directory instead of a pattern, and sub-directories are not scanned.

Defaultfalse
smbDomain
string

Windows domain of the login for an SMB share the directory is on. null resets it.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronSqlAgentSettings
object (core.CronSqlAgentSettings)
class
string

The type of this object, always core.CronSqlAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSqlAgentSettings" ]
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
encodeBlob
boolean

true Base64-encodes the values of BLOB columns in the result.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
sqlTestTimeout
integer (int32)

Seconds the test functions ("Test SQL", structure creation, the config assistant) may take; not used by the scheduled runs.

Default10
Example10
sqlTimeout
integer (int32)

Maximum lifetime in seconds of the database session a run executes the statement in; 0 means no limit.

Default0
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronSftpAgentSettings
object (core.CronSftpAgentSettings)
class
string

The type of this object, always core.CronSftpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSftpAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
as400Member
boolean

true also deletes or renames the AS/400 main file when a member file is deleted or renamed after download (a.file/b.mbr -> a.file, a.b -> a).

Defaultfalse
channel
object (core.IntegrationPartnerChannelSFTP)

The SFTP partner channel to fetch from, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type SFTP). Checked on write and read back resolved. The channel must allow SFTP, otherwise every run fails with a subtype mismatch. An agent created through the API keeps the internal default port 21, which overrides the channel's port (usually 22), so the connection fails until port: 0 is sent to use the channel's port. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelSFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.SshProtocol)

Protocols the partner may log in to the platform's SSH server with: any of SCP, SFTP, SSH (remote command execution). At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits SCP and SFTP but not SSH.

Example["SFTP"]
string

An SSH flavour the partner may use to log in to the platform's SFTP server: allowedProtocols of an SFTP channel.

  • SCP: SCP: file copy over SSH.
  • SFTP: SFTP: file transfer over SSH.
  • SSH: SSH: remote command execution. Not allowed on a new channel.
Valid values[ "SCP", "SFTP", "SSH" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's SFTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplesftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
keyFingerprint
string

Fingerprint of the host key the partner's SFTP server must present when the platform connects; compared case-insensitively together with keyType, and the connection fails on a mismatch. Left blank, any host key is accepted.

ExampleSHA256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU
keyType
string

Type of the host key the partner's SFTP server must present, as the SSH library reports it; checked together with keyFingerprint.

Examplessh-ed25519
localId
string

User name the platform logs in with at the partner's SFTP server (SSH login); its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
port
integer (int32)

TCP port of the partner's SFTP server. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Default22
Example22
privateKeyId
string

Id of the local certificate holding the key pair the platform authenticates with (public-key authentication) when it connects to the partner's SFTP server. Must reference an existing certificate with an SSH common name.

Pattern^\d+$
Example42
remoteCertificateIds
Array of string

Ids of the partner's certificates (public keys) in the certificate store, one of which the partner may authenticate with when it logs in to the platform's SFTP server by public key. Each must reference an existing certificate. Leaving it out keeps the stored list, null or an empty list removes it.

Example["43"]
string
remoteId
string

User name the partner logs in with on the platform's SFTP server; its password is remotePassword, its public keys are remoteCertificateIds. Must be unique among all SFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password)

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's SFTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. Without one the partner's file paths resolve against the server's working directory. Left out or blank on create, the server picks <client default channel directory>ssh/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ssh/acme
virtualRoot
boolean

Whether the partner, logged in on the platform's SFTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. null or left out keeps the stored value; a new channel shows the real path.

whiteListAddresses
Array of string

Addresses the partner may log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
wireCharset
string

Character set the SFTP/SCP server and client use for file names on the wire, e.g. ISO-8859-1. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it so the SSH library's default applies.

ExampleISO-8859-1
controlSuffix
string

Text that turns a data file name into the name of its control file, see ftpControlNameType; compared case-insensitively. Placeholders such as <yyyyMMdd> are resolved. Required when useControlFile is true.

Example.ok
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes from the server: skipped ones right away, and processed ones (with acceptEmptyFiles) even if fileHandling is NONE or RENAME.

Defaultfalse
deleteMasterCtrlFile
boolean

true deletes the master control file once its directory has been processed. Only used with masterCtrlFile.

Defaulttrue
dir
string

Directory on the partner's server to fetch from; separate several with ;, each is read in its own connection. Empty reads the login directory. %NAME% constants, @MSG_CALL_<name>@ trigger variables and date masks such as <yyyyMMdd> are resolved. A directory that cannot be entered is logged and skipped.

Example/out/orders
dmz
boolean

true fetches through the Lobster DMZ server: the DMZ connects to the partner, and the internal server then collects the files from the DMZ. Needs channel and a DMZ set up for the instance; file filter classes of the profile are not applied this way.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fetchControlFile
boolean

true also downloads each data file's control file and passes its content to the mapping as the variable VAR_SYS_CTRL_FILE, decoded with the profile's encoding. Set it only together with useControlFile: with a controlSuffix but useControlFile false the downloads fail.

Defaultfalse
fetchMasterCtrlFile
boolean

true also processes the master control file itself as data, after the other files of its directory. Only used with masterCtrlFile.

Defaultfalse
fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file on the partner's server right after its download, before the data is processed: NONE leaves it (so it is fetched again next run unless the profile skips already received files), RENAME renames or moves it as fileRename says.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. A plain pattern is sent with the server's directory listing, so the server's wildcard rules apply; | separates alternatives that are listed one by one, and an alternative starting with regex: (or a whole value starting with regex2:) is a regular expression the agent applies to the full listing itself. <yyyyMMdd>, %NAME% and @MSG_CALL_<name>@ are resolved first.

Default"*"
ExampleORDERS_*|INVOIC_*
fileRename
string

New name of a fetched file when fileHandling is RENAME; a path moves it. <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. Empty leaves the file in place.

Exampledone/<file>
fileSortAscending
boolean

true sorts A to Z, false Z to A, ignoring case. Only used when fileSortItem is NAME.

Defaulttrue
fileSortItem
string

NAME processes the fetched files in file-name order (direction fileSortAscending); any other value keeps the order in which the server lists them.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
ftpControlNameType
string

How controlSuffix forms a control file name: SUFFIX appends it to the data file name (orders.xml + .ok = orders.xml.ok), PREFIX puts it in front (ok_ + orders.xml = ok_orders.xml). Only used with useControlFile.

Valid values[ "SUFFIX", "PREFIX" ]
Default"SUFFIX"
ftpPassive
boolean

true opens the FTP data connection in passive mode, false in active mode. Ignored for SFTP.

Defaulttrue
ftpSiteCommands
string

Extra commands for the server, one per line. A line starting with before: is sent right after login, before the listing; the other lines after the directory has been processed, before logout. For FTP each line goes out as SITE <command> (a rfc: prefix sends it without SITE); SFTP only supports chmod <octal> <path>. @...@ variables are resolved.

ftpTransferMode
boolean

true downloads in FTP ASCII mode, where the server may convert line endings; false in binary mode, which keeps the bytes unchanged. Ignored for SFTP.

Defaultfalse
host
string

FTP server host; non-empty overrides the channel's. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
keepLocalFtpFileIfDeleteWasUnsuccessful
boolean

true: when deleting or renaming a file on the server fails after its download, the downloaded copy is kept in the server's temporary directory and its path logged, instead of being discarded; the file is not processed in either case. For servers that remove fetched files themselves and refuse client deletes.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
masterCtrlFile
string

Name of a master control file that must exist before anything is fetched: without it in the first directory of dir the run stops (see masterCtrlFileInSubDir). No wildcards (a * fails the run); date masks and variables are resolved. Empty disables it. Do not combine with useControlFile.

Exampleready.flg
masterCtrlFileInSubDir
boolean

false: only the first directory in dir must hold masterCtrlFile, and without it the whole run stops. true: every directory needs its own master control file, and a directory without one is skipped.

Defaultfalse
maxFilesPerBatch
integer (int32)

Maximum number of files fetched per run, counted over all directories; the rest waits for the next run. 0 means no limit.

Default0
Example100
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

FTP server port; above 0 overrides the channel's. null keeps the stored value.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every downloaded file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

useControlFile
boolean

true fetches a data file only when its control file (see controlSuffix) exists next to it. Control files are never processed as data, and they are deleted or renamed together with their data file. A control file left without its data file fails the run with "Stale control files found"; with an empty controlSuffix every file counts as a control file, so the run always fails. Do not combine with masterCtrlFile.

Defaultfalse
useFtpShortList
boolean

true lists directories with the quick name listing, which does not tell files from sub-directories; false requests the full listing and keeps files only. Ignored for SFTP.

Defaulttrue
core.SolutionAgentSettings
object (core.SolutionAgentSettings)
class
string

The type of this object, always core.SolutionAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SolutionAgentSettings" ]
acceptHttpDelete
boolean

true lets DELETE calls reach this endpoint (without body; the job gets a placeholder document).

Defaultfalse
acceptHttpGet
boolean

true lets GET calls reach this endpoint (no body; the job gets a placeholder document).

Defaultfalse
acceptHttpHead
boolean

true lets HEAD calls reach this endpoint (no body; the job gets a placeholder document).

Defaultfalse
acceptHttpPatch
boolean

true lets PATCH calls reach this endpoint; the request body is the job's input.

Defaultfalse
acceptHttpPost
boolean

true lets POST calls reach this endpoint; the request body is the job's input.

Defaulttrue
acceptHttpPut
boolean

true lets PUT calls reach this endpoint; the request body is the job's input.

Defaultfalse
channelIds
Array of integer

Ids of the partners' HTTP channels allowed to call this endpoint; list them with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). When set, a caller must authenticate as one of these channels, else it gets 401. Empty requires no authentication; left out, the stored list stays (none on create).

integer (int64)
mimeType
string

Content type of the answer to the caller.

Default"text/html"
Exampleapplication/json
params
Array of object (core.HttpAgentParam)

Elements named to match one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other element is unaffected.

object

A request parameter a call must carry for this profile to be chosen; one element of params of an HTTP or data-product input agent. A call without it, or with a value not listed, does not reach this profile. Not needed just to read a parameter: every query parameter of a call is available as the variable MSG_CALL_<NAME>.

class
string

The type of this object, always core.HttpAgentParam. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpAgentParam" ]
name
string

Name of the query or form parameter; compared case-insensitively. %NAME% constants are resolved.

Min length1
Examplemode
values
Array of string

Accepted values; the call's value must equal one of them exactly (case-sensitive), e.g. ["fast", "full"]. * accepts any value, regex:<pattern> a value the whole pattern matches, e.g. regex:[0-9]+; %NAME% constants are resolved. An empty list never matches, so the profile becomes unreachable; use ["*"] to require only the parameter's presence.

string
restUrlPlaceholder
string

Names for path segments after url. The endpoint only evaluates them in REST mode, which a data-product agent never switches on: calls must hit url exactly and no path variable is set.

Example{petId}
solutionName
string

Name of the data product this endpoint implements. Not read by the running endpoint.

swaggerPath
string

Path of the implemented operation in that OpenAPI definition. Not read by the running endpoint.

Example/pets/{petId}
swaggerUrl
string

URL of the data product's OpenAPI definition the operation was imported from. Not read by the running endpoint, and setting it here imports nothing.

typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

url
string

Path the endpoint listens on, appended to <instance>/dw/Request/. Leading and trailing / do not matter, the rest must match exactly. Keep it unique among active HTTP and data-product profiles.

Examplepets
core.CronX400AgentSettings
object (core.CronX400AgentSettings)
class
string

The type of this object, always core.CronX400AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronX400AgentSettings" ]
channel
object (core.IntegrationPartnerChannelX400)

The X.400 partner channel whose mailbox is polled, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type X400). Checked on write and read back resolved. Required: without it every run fails with "X.400 channel not set!". A fetched mail that carries no partner channel of its own is assigned to this one. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelX400. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelX400" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localId
string

The platform's own O/R address toward this partner: the sender of messages sent through this channel (unless the response unit names one), and incoming messages must be addressed to it.

ExampleC=DE;A=VIAT;O=LOBSTER;S=EDI
maximumTpduSize
integer (int32)

The largest TPDU (transport data unit) in bytes the X.400 client uses. 0 restores the default; leaving it out keeps the stored value, null restores it too.

Minimum0
Default1024
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
presentationSelector
string

Presentation selector the X.400 client addresses on the X.400 server. Left out, the client's default applies; [empty] sends an explicitly empty value.

remoteId
string

The partner's O/R address: the receiver of messages sent through this channel (unless the response unit names one), and an incoming message is assigned to this channel by its sender address (compared in upper case). Left out, the server fills a placeholder address (S=dummy;A=VIAT;C=DE;O=...).

ExampleC=DE;A=VIAT;O=ACME;S=EDI
serverAddressFiltering
boolean

Whether the X.400 mailbox can filter the messages it hands out by address. Leaving it out keeps the stored value, null resets it to false.

Defaultfalse
sessionSelector
string

Session selector the X.400 client addresses on the X.400 server. Left out, the client's default applies; [empty] sends an explicitly empty value.

transportAccessPoint
string

Transport access point (TSAP) the X.400 client sends when connecting to the X.400 server. Left out, the client's default applies; [empty] sends an explicitly empty value.

uafiConfigDirectory
string

Configuration directory of the legacy UAFI X.400 interface. Stored only: the editor does not show it and the built-in X.400 client does not use it.

uafiInDirectory
string

Incoming directory of the legacy UAFI X.400 interface. Stored only: the editor does not show it and the built-in X.400 client does not use it.

uafiOutDirectory
string

Outgoing directory of the legacy UAFI X.400 interface. Stored only: the editor does not show it and the built-in X.400 client does not use it.

cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dmz
boolean

true fetches the mails through the Lobster DMZ server instead of directly.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

filterOnlyNewX400
boolean

true fetches only unread mails, false all mails in the mailbox.

Defaultfalse
filterX400Addresses
boolean

true restricts polling to the X.400 addresses of channel and of the partners the rules in mailDispatchSettings name, by their sender or channel.

Defaultfalse
filterX400Date
boolean

true fetches only mails received after the previous run; that time is updated after every successful fetch.

Defaultfalse
handleUnknownMailData
string

What happens to a mail body or attachment that no rule in mailDispatchSettings accepts.

Valid values[ "STORE_UNRESOLVED", "DISCARD" ]
Default"STORE_UNRESOLVED"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailDispatchSettings
Array of object (core.MailDispatchRule)

Rules that decide, for the body and for each attachment of a fetched mail, which profile processes it. They are checked in list order and the first matching rule whose profile is usable wins; scoring does not reorder them. Sending the member replaces all rules; data no rule accepts is handled as handleUnknownMailData says. For X.400 a rule's sender is compared as an X.400 address, and to and cc should stay empty: bodies and attachments of X.400 mails are matched without recipients, so a rule that sets them never takes them.

object

One routing rule of a mail agent, an element of mailDispatchSettings of a POP3, IMAP or X.400 agent. The agent checks the rules in list order against the body and against each attachment of a fetched mail, and hands the data to the profile of the first active rule whose criteria all match (contentType, filePattern, channel, sender, to, cc, subject, mimeType) and whose profile is usable. An empty criterion does not filter. Send sender, subject and filePattern explicitly, "" meaning no filter: an omitted one is stored without a value, which the matching does not handle.

class
string

The type of this object, always core.MailDispatchRule. Required where the member it is sent in accepts several types.

Valid values[ "core.MailDispatchRule" ]
active
boolean

false switches the rule off, so it is skipped.

Defaulttrue
cc
string

One mail address that must be among the mail's CC recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
channel
integer (int64)

Id of a partner channel the mail must belong to, checked as matchChannel says; the platform assigns incoming mails to partner channels, and an X.400 mail without one gets the agent's channel. List channels with GET /platform/api/partners/preview/{partnerId}/channels. Stored as sent without any check. 0 does not filter by channel.

Default0
Example4711
contentType
string

Which part of a mail the rule applies to.

Valid values[ "BODY", "ATTACHMENT", "BODY_AND_ATTACHMENT", "NONE" ]
Default"ATTACHMENT"
exactMatchSubject
boolean

true requires the subject to equal subject, ignoring case; false only requires it to contain subject. Not used when subject is a regex: expression.

Defaultfalse
filePattern
string

Pattern the attachment's file name must match (* and ? wildcards ignoring case, | alternatives, regex: regular expressions); * or "" accepts every attachment. Only checked for attachments.

ExampleORDERS_*.edi|INVOIC_*.edi
mailType
string

Kind of agent the rule belongs to. Left out on an existing rule, the stored kind is kept.

Valid values[ "POP3", "IMAP", "X400" ]
Default"POP3"
matchChannel
string

How channel is checked. Only evaluated when channel is not 0.

Valid values[ "POLLING_CHANNEL", "SET_CHANNEL", "OWN_IDENTIFIER", "IGNORE" ]
Default"IGNORE"
mimeType
string

Content type the mail body must have for a body rule, compared case-insensitively with the content types of the body. Only checked for the body (contentType BODY or BODY_AND_ATTACHMENT) and ignored for X.400; without a value no body matches.

Exampletext/plain
profileName
string

Name of the profile that processes the matching data; a profile's id is its name, see GET /platform/api/profiles/preview. Empty means the agent's own profile. The target must belong to the same client, be active, not be a master template and be within its validity period; otherwise the rule is skipped and the next one is tried.

scoring
integer (int64)

Ranking used to sort a rule list by how specific a rule is. The agent ignores it and checks the rules in list order; stored as sent, 0 is fine.

sender
string

Text the sender's address must contain, ignoring case; with mailType X400 an X.400 address the sender must match. "" does not filter.

Example@partner.example
subject
string

Text the subject must contain, ignoring case, or equal with exactMatchSubject; a value starting with regex: is a regular expression the whole subject must match. "" does not filter.

to
string

One mail address that must be among the mail's To recipients; compared ignoring case, spaces are removed. Empty does not filter. Bodies and attachments of X.400 mails are matched without recipients.

Exampleedi@example.com
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every mail body and attachment to a separate background job and continues at once, so several jobs run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

x400DoNotDelete
boolean

true leaves fetched mails in the X.400 mailbox; false deletes them once fetched, unless an instance-wide setting keeps them.

Defaultfalse
core.CronFtpAgentSettings
object (core.CronFtpAgentSettings)
class
string

The type of this object, always core.CronFtpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronFtpAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
as400Member
boolean

true also deletes or renames the AS/400 main file when a member file is deleted or renamed after download (a.file/b.mbr -> a.file, a.b -> a).

Defaultfalse
channel
object (core.IntegrationPartnerChannelFTP)

The FTP partner channel to fetch from; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type FTP). Checked on write and read back resolved. Host, port, login and password come from the channel's own-identity settings. Pitfall: an agent created through the API keeps the internal default port 21, which overrides the channel's port; send port: 0 to use the channel's port. Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.FtpProtocol)

FTP flavours the partner may log in to the platform's FTP server with: any of FTP, FTPS_EXPLICIT, FTPS_IMPLICIT. At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits all three.

Example["FTPS_EXPLICIT", "FTPS_IMPLICIT"]
string

An FTP flavour the partner may use to log in to the platform's FTP server: allowedProtocols of an FTP channel.

  • FTP: Plain FTP, unencrypted.
  • FTPS_EXPLICIT: FTPS explicit: the connection starts plain and upgrades to TLS (AUTH TLS).
  • FTPS_IMPLICIT: FTPS implicit: TLS from the first byte.
Valid values[ "FTP", "FTPS_EXPLICIT", "FTPS_IMPLICIT" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's FTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Exampleftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

User name the platform logs in with at the partner's FTP server; its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
onlyHome
boolean

Whether the partner, logged in on the platform's FTP server as remoteId, is confined to its home directory (remotePath) and cannot change to a directory above it. null or left out keeps the stored value; a new channel is not confined.

partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
port
integer (int32)

TCP port of the partner's FTP server; left out, the address carries no port. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Example21
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

User name the partner logs in with on the platform's FTP server; its password is remotePassword. Must be unique among all FTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password)

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's FTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. The FTP server refuses every login to a channel without one. Left out or blank on create, the server picks <client default channel directory>ftp/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ftp/acme
reuseSslSession
boolean

Whether the control connection's TLS session is reused for the data connections of an FTPS transfer when the platform connects to the partner; some servers refuse a data connection without it. Leaving it out keeps the stored value, null resets it to true; a new channel reuses the session.

Defaulttrue
virtualRoot
boolean

Whether the partner, logged in on the platform's FTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. Leaving it out keeps the stored value, null resets it to false; a new channel shows the real path.

Defaultfalse
whiteListAddresses
Array of string

Addresses the partner may log in to the platform's FTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
controlSuffix
string

Text that turns a data file name into the name of its control file, see ftpControlNameType; compared case-insensitively. Placeholders such as <yyyyMMdd> are resolved. Required when useControlFile is true.

Example.ok
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes from the server: skipped ones right away, and processed ones (with acceptEmptyFiles) even if fileHandling is NONE or RENAME.

Defaultfalse
deleteMasterCtrlFile
boolean

true deletes the master control file once its directory has been processed. Only used with masterCtrlFile.

Defaulttrue
dir
string

Directory on the partner's server to fetch from; separate several with ;, each is read in its own connection. Empty reads the login directory. %NAME% constants, @MSG_CALL_<name>@ trigger variables and date masks such as <yyyyMMdd> are resolved. A directory that cannot be entered is logged and skipped.

Example/out/orders
dmz
boolean

true fetches through the Lobster DMZ server: the DMZ connects to the partner, and the internal server then collects the files from the DMZ. Needs channel and a DMZ set up for the instance; file filter classes of the profile are not applied this way.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fetchControlFile
boolean

true also downloads each data file's control file and passes its content to the mapping as the variable VAR_SYS_CTRL_FILE, decoded with the profile's encoding. Set it only together with useControlFile: with a controlSuffix but useControlFile false the downloads fail.

Defaultfalse
fetchMasterCtrlFile
boolean

true also processes the master control file itself as data, after the other files of its directory. Only used with masterCtrlFile.

Defaultfalse
fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file on the partner's server right after its download, before the data is processed: NONE leaves it (so it is fetched again next run unless the profile skips already received files), RENAME renames or moves it as fileRename says.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. A plain pattern is sent with the server's directory listing, so the server's wildcard rules apply; | separates alternatives that are listed one by one, and an alternative starting with regex: (or a whole value starting with regex2:) is a regular expression the agent applies to the full listing itself. <yyyyMMdd>, %NAME% and @MSG_CALL_<name>@ are resolved first.

Default"*"
ExampleORDERS_*|INVOIC_*
fileRename
string

New name of a fetched file when fileHandling is RENAME; a path moves it. <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. Empty leaves the file in place.

Exampledone/<file>
fileSortAscending
boolean

true sorts A to Z, false Z to A, ignoring case. Only used when fileSortItem is NAME.

Defaulttrue
fileSortItem
string

NAME processes the fetched files in file-name order (direction fileSortAscending); any other value keeps the order in which the server lists them.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
ftpControlNameType
string

How controlSuffix forms a control file name: SUFFIX appends it to the data file name (orders.xml + .ok = orders.xml.ok), PREFIX puts it in front (ok_ + orders.xml = ok_orders.xml). Only used with useControlFile.

Valid values[ "SUFFIX", "PREFIX" ]
Default"SUFFIX"
ftpPassive
boolean

true opens the FTP data connection in passive mode, false in active mode. Ignored for SFTP.

Defaulttrue
ftpSiteCommands
string

Extra commands for the server, one per line. A line starting with before: is sent right after login, before the listing; the other lines after the directory has been processed, before logout. For FTP each line goes out as SITE <command> (a rfc: prefix sends it without SITE); SFTP only supports chmod <octal> <path>. @...@ variables are resolved.

ftpTransferMode
boolean

true downloads in FTP ASCII mode, where the server may convert line endings; false in binary mode, which keeps the bytes unchanged. Ignored for SFTP.

Defaultfalse
ftps
boolean

true fetches over FTPS (FTP over TLS) instead of plain FTP. null keeps the stored value (plain FTP on create).

Defaultfalse
host
string

FTP server host; non-empty overrides the channel's. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
keepLocalFtpFileIfDeleteWasUnsuccessful
boolean

true: when deleting or renaming a file on the server fails after its download, the downloaded copy is kept in the server's temporary directory and its path logged, instead of being discarded; the file is not processed in either case. For servers that remove fetched files themselves and refuse client deletes.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
masterCtrlFile
string

Name of a master control file that must exist before anything is fetched: without it in the first directory of dir the run stops (see masterCtrlFileInSubDir). No wildcards (a * fails the run); date masks and variables are resolved. Empty disables it. Do not combine with useControlFile.

Exampleready.flg
masterCtrlFileInSubDir
boolean

false: only the first directory in dir must hold masterCtrlFile, and without it the whole run stops. true: every directory needs its own master control file, and a directory without one is skipped.

Defaultfalse
maxFilesPerBatch
integer (int32)

Maximum number of files fetched per run, counted over all directories; the rest waits for the next run. 0 means no limit.

Default0
Example100
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

FTP server port; above 0 overrides the channel's. null keeps the stored value.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every downloaded file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

useControlFile
boolean

true fetches a data file only when its control file (see controlSuffix) exists next to it. Control files are never processed as data, and they are deleted or renamed together with their data file. A control file left without its data file fails the run with "Stale control files found"; with an empty controlSuffix every file counts as a control file, so the run always fails. Do not combine with masterCtrlFile.

Defaultfalse
useFtpShortList
boolean

true lists directories with the quick name listing, which does not tell files from sub-directories; false requests the full listing and keeps files only. Ignored for SFTP.

Defaulttrue
core.KafkaAgentSettings
object (core.KafkaAgentSettings)
class
string

The type of this object, always core.KafkaAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.KafkaAgentSettings" ]
alias
string

Name of the Kafka connection (bootstrap servers, security settings) to consume through; it must exist on the instance and be allowed for the profile's client, otherwise the agent is not started.

assigned
boolean

When true, the agent reads the partitions listed in assignmentList of topicName directly instead of joining the consumer group (no rebalancing). The list must not be empty, otherwise the agent stops; a regex: topic is not supported. After a polling error the agent reconnects with a normal group subscription.

Defaultfalse
assignmentList
Array of integer

Partition numbers of topicName the agent reads when assigned is true. Ignored otherwise. Empty by default.

integer (int32)
binaryConverterClassName
string

Java class name of a custom binary converter, meant for complexDataType BINARY. Stored, but the Kafka agent does not call it.

clientId
string

Kafka client.id of the consumer; %name% constants are resolved. Empty: an id generated from the server id, the profile name and topicName.

commitEach
boolean

When true, the offset of each record is committed right after the record was handed on; when false, offsets are committed every commitInterval records. Either way the commit does not wait for the job's result; all pending offsets are committed when the agent stops.

Defaulttrue
commitInterval
integer (int32)

With commitEach false, the consumed offsets are committed to the broker every this many records (and when the agent stops). Must be at least 1; 0 makes every commit fail.

Default10
Example10
complexDataType
string

Structured payload type. Omit it for plain text or numbers read as genericDataType.

Valid values[ "XML", "JSON", "BINARY" ]
consumerProperties
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key, sasl.jaas.config, basic.auth.user.info, ssl.keystore.key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

dataType
string

Deserializer for the record value, i.e. the data the job receives. STRING, and the numeric and UUID types, are handed on as text in the profile's encoding, BYTES as the raw bytes; AVRO (Confluent) and AVRO_APICURIO (Apicurio) are decoded with the schema registry from schemaRegistryUrl or registryChannelId and handed on as JSON text. Records that do not match pause the agent for 120 seconds each time and have to be removed from the topic.

Valid values[ "INTEGER", "LONG", "FLOAT", "DOUBLE", "BYTES", "STRING", "UUID", "AVRO", "AVRO_APICURIO" ]
Default"STRING"
delimiter
string

Text put between the records when finalValueFunction is ALL and complexDataType is not set; NL stands for a line break (CRLF). Empty: the records are concatenated without separator.

Example,
factoryName
string

Id (factory name) of the cluster node that runs this agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

filters
Array of object (core.MessageFilter)

Function chain that decides, for each record that arrives while the buffer is not yet full, whether the collected records (including this one) are handed on early: the chain runs on the record text and the buffer is forwarded when its last result is true. It does not drop records. Only evaluated with messageBufferSize above 1, only on the records messageIntervalCheck selects and only when mqttConditions is absent; an empty mqttConditions list disables it too.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

What the job receives from the collected records. Without complexDataType, MIN, MAX and AVG need a numeric genericDataType (INTEGER, FLOAT, BIG_DECIMAL or BIG_INTEGER) and ALL works for STRING, INTEGER, FLOAT, BIG_DECIMAL and BIG_INTEGER; any other combination produces no job. With complexDataType JSON or XML, ALL combines the records (see there) and every other value passes the last record on.

Valid values[ "MIN", "MAX", "AVG", "ALL", "LAST" ]
Default"LAST"
genericDataType
string

Type the whole record value is read as for mqttConditions and finalValueFunction. mqttConditions support STRING, INTEGER, DOUBLE, DATE (yyyy-MM-dd), FLOAT and BIG_INTEGER. A value that does not parse as the type fails the check. Keep STRING when complexDataType is set.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
keyType
string

Deserializer for the record key; BYTES keys are decoded as text in the profile's encoding. The key reaches the mapping as variable MSG_CALL_KAFKA_KEY. A type that does not match the records makes them fail to deserialize, and the agent then pauses for 120 seconds each time.

Valid values[ "INTEGER", "LONG", "FLOAT", "DOUBLE", "BYTES", "STRING", "UUID", "AVRO", "AVRO_APICURIO" ]
Default"STRING"
messageBufferSize
integer (int32)

Number of records collected before they are handed on together as one job, combined by finalValueFunction. 1 starts one job per record; timeout, mqttConditions and filters only have an effect above 1. Records still buffered when the agent stops are processed.

Default1
messageIntervalCheck
integer (int32)

mqttConditions and filters are only evaluated when the number of buffered records is a multiple of this value; 1 checks every record. Must be at least 1: 0 makes the processing of every record fail.

Default1
mqttConditions
Array of object (core.MqttConditionEntry)

Conditions that hand the collected records on early: when a record that arrives before the buffer is full matches any value of any entry, the buffer including this record is forwarded. The whole value is compared, read as genericDataType; entries are OR-linked. They do not drop records. Only evaluated with messageBufferSize above 1 and on the records messageIntervalCheck selects; when present (even as an empty list), filters are ignored.

object

One entry of mqttConditions of an MQTT, Kafka or AMQP (Legacy) agent: a comparison (condition) and the values the whole received message is compared with, read as the agent's genericDataType. The entry matches when the message matches any of its values; the entries of the list are OR-linked. A match hands the buffered messages on early, it does not filter messages out.

class
string

The type of this object, always core.MqttConditionEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.MqttConditionEntry" ]
condition
string

Comparison to apply. Text (genericDataType STRING) supports REGEX, CONTAINS, EQUALS and NOT; numbers support EQUALS, NOT and the four comparisons; dates only SMALLER, GREATER and EQUALS; any other combination never matches. Required; a missing or unknown name is rejected. A later entry with the same condition replaces an earlier one.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values the message is compared with, written in the agent's genericDataType, e.g. dates as 2024-12-31 or a regular expression for REGEX. Every value must parse as that type, otherwise the check fails.

string
nullInstance
boolean

When true, a tombstone record (a key without value) is committed and a notification mail about it is sent to the instance's notification recipient. Tombstones never start a job, whatever this is set to.

Defaultfalse
registryChannelId
integer (int64)

Id of an HTTP partner channel whose URL, login and OAuth2 client credentials are used to reach the schema registry for AVRO and AVRO_APICURIO values; 0 uses none. Get it from GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). Not validated: a wrong id is stored as is. Ignored for other dataType values.

Default0
resetTimestamp
string

UTC timestamp in ISO-8601 instant form, e.g. 2023-11-14T22:13:20Z, the agent rewinds its partitions to on its next start; empty or null does not rewind. One-off: it is not stored with the profile and reads empty afterwards.

schemaRegistryUrl
string

URL of the schema registry used to decode AVRO and AVRO_APICURIO values; overrides the URL of registryChannelId. %name% constants are resolved. Ignored for other dataType values.

Examplehttps://registry.example.com:8081
timeout
integer (int32)

Seconds after which the records collected so far are handed on as one job even though fewer than messageBufferSize have arrived; checked about every 5 seconds. 0 waits until the buffer is full. Only meaningful with messageBufferSize above 1.

Default0
topicName
string

Topic to consume; %name% constants are resolved. The prefix regex: subscribes to every topic matching the Java regular expression that follows, e.g. regex:orders-.* (not usable with assigned). Also part of the default consumer group id and clientId.

Exampleorders
triggerOnAnyServer
boolean

Only matters in a load-balancing cluster: when true, the agent starts regardless of the node restriction and the jobs of received records may run on any node instead of the one that received them.

Defaultfalse
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.AS2AgentSettings
object (core.AS2AgentSettings)
class
string

The type of this object, always core.AS2AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AS2AgentSettings" ]
channels
Array of object (core.IntegrationPartnerChannelAS2)

AS2 partner channels allowed to deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type AS2). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an AS2 channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An AS2 connection to the partner: the AS2 ids both sides use, the partner's AS2 URL and the signing/encryption settings for outgoing messages. Needs stationId (partnerAs2Id is filled when absent); set as2Url and the certificates via localCertificateId/remoteCertificateId; referenced by core.AS2ProfileResponseUnit.channel (send) and core.AS2AgentSettings.channels (partners allowed to deliver). The bridge is not settable through this API; channel list filter type=AS2.

class
string

The type of this object, always core.IntegrationPartnerChannelAS2. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelAS2" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
as2Url
string

The partner's AS2 endpoint that outgoing messages are posted to; an AS2 response unit without its own URL uses it.

Pattern^(https?|as2)://.+
Examplehttps://as2.acme.example/as2
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing messages; used only when the channel sends encrypted. Not validated on save.

Default"AES256"
ExampleAES256
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSignCertificateId
string

Id of the platform's own certificate (with private key) that signs the messages it sends over this channel. Must reference an existing certificate. Reads as absent while the channel signs with localCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Reads as absent while the channel uses localCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
mdnHashAlgorithm
string

Hash algorithm the MDN (receipt) is signed with, e.g. SHA256. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it.

Default"SHA256"
ExampleSHA256
mdnMode
string

Which MDN (receipt) the platform requests for outgoing messages: DEFAULT = the AS2 service's system setting, SYNCHRON = returned in the HTTP response, ASYNCHRON = sent later to the MDN URL. A channel stored with another code reads back without mdnMode, and a write that leaves it out keeps that code.

Valid values[ "DEFAULT", "SYNCHRON", "ASYNCHRON" ]
Default"DEFAULT"
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
partnerAs2Id
string

The partner's AS2 id: sent as AS2-To on outgoing messages, and an incoming message is assigned to this channel by its AS2-From. Left out, the server fills an AUTO_CREATE_... placeholder that no partner sends.

ExampleACME_AS2
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteSignCertificateId
string

Id of the partner's certificate (public key) that the signature of the messages it sends over this channel is checked against. Must reference an existing certificate. Reads as absent while the channel checks against remoteCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Reads as absent while the channel expects remoteCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
removeSignatureSecurityFeatures
boolean

Whether the security settings of the message signature are removed (the editor's "Remove security settings of signature" switch). Leaving it out keeps the stored value, null resets it to false; a new channel keeps them.

Defaultfalse
sendingChunked
boolean

Whether outgoing messages are sent with chunked transfer encoding, split into blocks, instead of with a content length. Leaving it out keeps the stored value, null resets it to false; a new channel does not chunk.

Defaultfalse
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingMdnUrl
string

URL the partner sends the asynchronous MDN (receipt) to; only used with mdnMode ASYNCHRON. Must be an HTTP or HTTPS URL. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^(https?://.+)?$
Examplehttps://lobster.example/as2/mdn
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing messages; used only when the channel sends signed. Not validated on save.

Default"SHA1"
ExampleSHA256
stationId
string

The platform's own AS2 id toward this partner: sent as AS2-From on outgoing messages and expected as AS2-To on incoming ones. Required on create; a write may not blank it. Together with partnerAs2Id it must be unique among AS2 channels.

Min length1
ExampleLOBSTER_AS2
filePattern
string

Pattern the file name of the received payload must match, case-insensitive: wildcards * and ?, several patterns separated by |, regex:<expression> for a regular expression, and date placeholders like <yyyyMMdd> for today's date.

Default"*.*"
Example*.xml
mimeType
string

Content type the payload must have, compared case-insensitively; empty accepts any.

Exampleapplication/edifact
subject
string

Text the subject of the AS2 message must contain, case-insensitive; empty accepts any subject. A longer subject makes this profile win over other matching profiles.

typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronCloudStorageAgentSettings
object (core.CronCloudStorageAgentSettings)
class
string

The type of this object, always core.CronCloudStorageAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronCloudStorageAgentSettings" ]
acceptEmptyFiles
boolean

true also processes files of zero bytes; false skips them (and deletes them only if deleteEmptyFiles is true).

Defaultfalse
bucket
string

Where in the storage account to read: the bucket (S3, Google Cloud Storage), container (Azure Blob), share (Azure Files) or drive/site id (Microsoft 365, where @Name:<site name> names a SharePoint site). Not used for Dropbox and Google Drive. Placeholders such as %NAME% are resolved.

comChannelId
integer (int64)

Id of the CloudStorage partner channel that holds the storage account; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type CloudStorage). Stored as sent without any check, so a wrong id only fails when the agent runs. A trigger variable VAR_SYS_TRIGGER_CHANNEL_ID replaces it for that run.

Example4711
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
deleteEmptyFiles
boolean

true deletes files of zero bytes: right away when they are skipped (acceptEmptyFiles false), and after pickup when they are processed, even if fileHandling is NONE.

Defaultfalse
dir
string

Folder in the storage to scan; separate several with ;. Date masks, %NAME% constants and @MSG_CALL_<name>@ variables are resolved.

Exampleinbound/orders
dmz
boolean

true accesses the storage through the Lobster DMZ server instead of directly.

Defaultfalse
documentLibrary
string

Microsoft 365 only: name of the SharePoint document library to read from; takes effect only when bucket names the site as @Name:<site name>.

errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

excludeHour
integer (int32)

Hours part of an age limit that excludeMinute and excludeSecond complete: files last modified longer ago than this duration are skipped. All three 0 disables the limit. fileOlderThan flips it to skip files younger than the duration instead.

Default0
Example24
excludeMinute
integer (int32)

Minutes part of the age limit described at excludeHour.

Default0
excludeSecond
integer (int32)

Seconds part of the age limit described at excludeHour.

Default0
factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a file once it has been picked up. RENAME is not supported by these agents and behaves like NONE. DELETE needs write access to the file and its directory; a file it cannot delete is skipped with an error.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
fileOlderThan
boolean

Whether the age limit of excludeHour, excludeMinute and excludeSecond skips files modified longer ago (true) or files younger than the duration (false). null resets it.

Defaulttrue
filePattern
string

Pattern the names of the files to pick up must match. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and regex2: makes the whole value one regular expression. <yyyyMMdd> or @yyyyMMdd@ insert the current date, %NAME% a constant, @MSG_CALL_<name>@ a trigger variable. Names starting with . are always ignored; the file agent fails the run if the pattern is empty.

Default"*"
ExampleORDERS_*.xml|INVOIC_*.xml
fileSortAscending
boolean

true sorts ascending (A to Z, oldest first), false descending. Only used when the files are sorted, see fileSortItem.

Defaulttrue
fileSortItem
string

Order in which the files of a run are processed, in the direction of fileSortAscending. The cloud storage agent always sorts: by name for NAME, by last-modified time otherwise.

Valid values[ "SYSTEM", "NAME", "TIME", "META" ]
Default"SYSTEM"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

readTempFiles
boolean

true also picks up files whose name starts with ~, which the file agent otherwise skips as temporary files. The cloud storage agent does not evaluate it and never skips such files.

Defaultfalse
recursiveDir
boolean

true also picks up matching files from all sub-directories of the scanned directories, at any depth. Ignored by the file agent when singleFile is true.

Defaultfalse
runInBackground
boolean

true hands every file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronLdapAgentSettings
object (core.CronLdapAgentSettings)
class
string

The type of this object, always core.CronLdapAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronLdapAgentSettings" ]
alias
string

Name of the LDAP connection (server and credentials) to search; it must already exist on the instance and be allowed for the profile's client. Variables and %NAME% constants are resolved.

attributes
string

Comma-separated names of the attributes to return. Empty returns all attributes.

Examplecn,sn,mail
baseDN
string

Distinguished name the search starts at.

Exampleou=people,dc=example,dc=com
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

resultLimit
integer (int32)

Maximum number of entries to read; when it is reached, the entries read so far are processed. 0 means no limit.

Default0
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
search
string

LDAP search filter. @0:s#<mask>@ inserts the time of the previous run in a date mask, e.g. (modifyTimestamp>=@0:s#yyyyMMddHHmmss@Z), so a run reads only changed entries. @...@ is a placeholder, so a literal @ in the filter can be misread. Variables and %NAME% constants are resolved.

Example(&(objectClass=person)(sn=Smith))
searchScope
string

How deep to search below baseDN.

Valid values[ "OBJECT", "ONE_LEVEL", "SUBTREE" ]
Default"OBJECT"
timeLimit
integer (int32)

Maximum time in seconds the search may take; 0 means no limit.

Default30
Example30
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

wrapFields
boolean

true writes every attribute as a JSON array of its values, so the structure is the same for single- and multi-valued attributes; false writes a single value as a plain string and only several values as an array. Binary values are Base64-encoded.

Defaultfalse
core.SmsAgentSettings
object (core.SmsAgentSettings)
class
string

The type of this object, always core.SmsAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SmsAgentSettings" ]
param
string

Phone number(s) this SMS profile receives messages for; separate multiple numbers with ;.

Min length1
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.AS4AgentSettings
object (core.AS4AgentSettings)
class
string

The type of this object, always core.AS4AgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AS4AgentSettings" ]
channels
Array of object (core.IntegrationPartnerChannelAS4)

AS4 partner channels allowed to deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type AS4). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an AS4 channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An AS4 connection to the partner: the partner's AS4 id, its message service endpoint and the certificates. Referenced by core.As4ProfileResponseUnit.channel (send) and core.AS4AgentSettings.channels (partners allowed to deliver). The platform's own AS4 id, which outgoing messages are sent from, is not settable through this API; channel list filter type=AS4.

class
string

The type of this object, always core.IntegrationPartnerChannelAS4. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelAS4" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing messages; used only when the channel sends encrypted. Not validated on save. Leaving it out keeps the stored value, null resets it to the default, an empty string removes it.

ExampleAES256
endpointUrl
string

The partner's AS4 message service endpoint that outgoing messages are pushed to.

Pattern^https?://.+
Examplehttps://as4.acme.example/msh
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localSignCertificateId
string

Id of the platform's own certificate (with private key) that signs the messages it sends over this channel. Must reference an existing certificate. Reads as absent while the channel signs with localCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Reads as absent while the channel uses localCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
mdnMode
string

Which MDN (receipt) the platform requests for outgoing messages: DEFAULT = the AS4 service's system setting, SYNCHRON = returned in the HTTP response, ASYNCHRON = sent later to sendingMdnUrl. A channel stored with another code reads back without mdnMode, and a write that leaves it out or sends null keeps that code. Otherwise leaving it out keeps the stored value and null resets it to DEFAULT.

Valid values[ "DEFAULT", "SYNCHRON", "ASYNCHRON" ]
Default"DEFAULT"
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's AS4 id, the receiver of messages sent through this channel. Left out, the server fills an AUTO_CREATE_... placeholder.

remoteSignCertificateId
string

Id of the partner's certificate (public key) that the signature of the messages it sends over this channel is checked against. Must reference an existing certificate. Reads as absent while the channel checks against remoteCertificateId, which is what applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Reads as absent while the channel expects remoteCertificateId, which applies when it is unset. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingMdnUrl
string

URL the partner sends the asynchronous MDN (receipt) to; only used with mdnMode ASYNCHRON. Must be an HTTP or HTTPS URL. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^(https?://.+)?$
Examplehttps://lobster.example/as4/mdn
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing messages; used only when the channel sends signed. Not validated on save. Leaving it out keeps the stored value, null resets it to the default, an empty string removes it.

ExampleSHA256
filePattern
string

Pattern the file name of the received payload must match, case-insensitive: wildcards * and ?, several patterns separated by |, regex:<expression> for a regular expression, and date placeholders like <yyyyMMdd> for today's date.

Default"*.*"
Example*.xml
mimeType
string

Content type the payload must have, compared case-insensitively; empty accepts any.

Exampleapplication/xml
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.FaxAgentSettings
object (core.FaxAgentSettings)
class
string

The type of this object, always core.FaxAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.FaxAgentSettings" ]
acceptAll
boolean

true accepts faxes from every partner of the profile's client, whatever channel they arrive on, and ignores channelIds; such a profile only receives a fax no channel-specific fax profile takes.

Defaultfalse
channelIds
Array of integer

Ids of the fax channels whose incoming faxes this profile processes; list them with GET /platform/api/partners/preview/{partnerId}/channels (type Fax). The ids are stored as sent, without checking that they exist, so a wrong id only shows as faxes not arriving. Not evaluated while acceptAll is true.

integer (int64)
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.ManualUploadAgentSettings
object (core.ManualUploadAgentSettings)
class
string

The type of this object, always core.ManualUploadAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ManualUploadAgentSettings" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.SFTPAgentSettings
object (core.SFTPAgentSettings)
class
string

The type of this object, always core.SFTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SFTPAgentSettings" ]
acceptEmptyFiles
boolean

true also processes uploaded files of zero bytes; false skips them with a log entry.

Defaultfalse
channels
Array of object (core.IntegrationPartnerChannelSFTP)

SFTP partner channels whose logins may deliver to this profile, each as {"id": <channelId>} from GET /platform/api/partners/preview/{partnerId}/channels (type SFTP). Only the id is read on write and neither its existence nor its type is checked; an entry that does not resolve to an SFTP channel is left out on read. An existing channel's direction must be IN or IN_AND_OUT, which is checked on write. Without a channel the profile never receives anything.

object

An SFTP/SSH connection with the partner, in either direction: the partner logs in to the platform's SFTP server as remoteId and lands in remotePath, and the platform connects to the partner's server at host and port, checking its host key against keyType/keyFingerprint and authenticating with privateKeyId or a password. Referenced by core.CronSftpAgentSettings.channel and core.CronSshAgentSettings.channel (fetch), core.SSHProfileResponseUnit.channel (send) and core.SFTPAgentSettings.channels (partners allowed to upload). The partner's login password is remotePassword; the platform's own password at the partner's server is not settable through this API. Channel list filter type=SFTP.

class
string

The type of this object, always core.IntegrationPartnerChannelSFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.SshProtocol)

Protocols the partner may log in to the platform's SSH server with: any of SCP, SFTP, SSH (remote command execution). At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits SCP and SFTP but not SSH.

Example["SFTP"]
string

An SSH flavour the partner may use to log in to the platform's SFTP server: allowedProtocols of an SFTP channel.

  • SCP: SCP: file copy over SSH.
  • SFTP: SFTP: file transfer over SSH.
  • SSH: SSH: remote command execution. Not allowed on a new channel.
Valid values[ "SCP", "SFTP", "SSH" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's SFTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplesftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
keyFingerprint
string

Fingerprint of the host key the partner's SFTP server must present when the platform connects; compared case-insensitively together with keyType, and the connection fails on a mismatch. Left blank, any host key is accepted.

ExampleSHA256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU
keyType
string

Type of the host key the partner's SFTP server must present, as the SSH library reports it; checked together with keyFingerprint.

Examplessh-ed25519
localId
string

User name the platform logs in with at the partner's SFTP server (SSH login); its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
port
integer (int32)

TCP port of the partner's SFTP server. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Default22
Example22
privateKeyId
string

Id of the local certificate holding the key pair the platform authenticates with (public-key authentication) when it connects to the partner's SFTP server. Must reference an existing certificate with an SSH common name.

Pattern^\d+$
Example42
remoteCertificateIds
Array of string

Ids of the partner's certificates (public keys) in the certificate store, one of which the partner may authenticate with when it logs in to the platform's SFTP server by public key. Each must reference an existing certificate. Leaving it out keeps the stored list, null or an empty list removes it.

Example["43"]
string
remoteId
string

User name the partner logs in with on the platform's SFTP server; its password is remotePassword, its public keys are remoteCertificateIds. Must be unique among all SFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password)

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's SFTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. Without one the partner's file paths resolve against the server's working directory. Left out or blank on create, the server picks <client default channel directory>ssh/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ssh/acme
virtualRoot
boolean

Whether the partner, logged in on the platform's SFTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. null or left out keeps the stored value; a new channel shows the real path.

whiteListAddresses
Array of string

Addresses the partner may log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
wireCharset
string

Character set the SFTP/SCP server and client use for file names on the wire, e.g. ISO-8859-1. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it so the SSH library's default applies.

ExampleISO-8859-1
dir
string

Sub-directory, relative to the partner's home directory on the Lobster FTP/SFTP server, that an upload must land in for this profile; separate several with ;. $USER$ is replaced by the uploading partner's login name. Empty accepts uploads in any directory.

Examplein/orders
fileName
string

File-name pattern a file the partner uploads must match for this profile to take it. * and ? are wildcards and the match ignores case; | separates alternatives, an alternative starting with regex: is a regular expression, and <yyyyMMdd> is replaced by the current date. If several profiles accept an upload, the one with the longest matching dir and the most specific pattern wins.

ExampleORDERS_*.csv|INVOIC_*.csv
processOnLogout
boolean

true collects the files a partner uploads during one session and processes them only when the partner logs out; false processes each file as soon as its upload is complete.

Defaultfalse
transferType
string

Upload protocol this profile accepts; a file uploaded the other way is not taken by this profile.

Valid values[ "SFTP", "SCP" ]
Default"SFTP"
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.TcpAgentSettings
object (core.TcpAgentSettings)
class
string

The type of this object, always core.TcpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.TcpAgentSettings" ]
alias
string

Name of the TCP server connection (server type) to listen on, as defined on the instance in etc/tcp.xml; the profile's client must be allowed to use it. An unknown or disallowed alias keeps the listener from starting.

binaryConverterClassName
string

Class name of a binary converter. Stored only: the TCP listener does not read it. Leave it empty.

factoryName
string

Id (factory name) of the cluster node that runs the listener; %NAME% constants are resolved. Empty runs it on the instance itself, but not on a load-balancing member; a value naming another node keeps it from starting here. Only relevant with load balancing.

typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronCustomAgentSettings
object (core.CronCustomAgentSettings)
class
string

The type of this object, always core.CronCustomAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronCustomAgentSettings" ]
configFile
string

Configuration value handed to customClass on every run, usually the path of its configuration file relative to the Lobster installation; what it must contain depends on the class. %NAME% constants and @MSG_CALL_<name>@ trigger variables in it are resolved first. For classes that take properties, a non-empty proProperties is passed instead of this value.

Example./conf/my_task.properties
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
customClass
string

Fully qualified name of the Java class that produces the data. It must be a cron class installed on the Lobster server (registered in ./etc/admin/datawizard/custom_classes.properties or custom_own_classes.properties, or supplied by a platform module), or, for the orchestration agent, an orchestration class of a platform module. It is instantiated on every run, so a wrong name fails each run rather than being rejected on save. Every non-empty data block the class returns is processed as its own job. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=CUSTOM_CLASS; the orchestration agent takes only the orchestration classes of platform modules from that list.

Examplecom.example.MyCronTask
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
proProperties
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every data block the class returns to a separate background job and continues at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.MessageAgentSettings
object (core.MessageAgentSettings)
class
string

The type of this object, always core.MessageAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageAgentSettings" ]
comChannelId
integer (int64)

Not evaluated for this agent type; leave it 0.

Default0
context
string

Message context the agent listens on; together with queue it must match what the sender uses. Context System with queue DWForwardReceiver is reserved for internal forwarding and gets no listener of its own.

Default"DataWizard"
param
string

Not evaluated for this agent type; leave it empty.

queue
string

Message queue within context the agent listens on. Empty by default.

Exampleorders
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.GooglePubSubAgentSettings
object (core.GooglePubSubAgentSettings)
class
string

The type of this object, always core.GooglePubSubAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.GooglePubSubAgentSettings" ]
accumulation
object (core.AccumulationSettings)

Message-buffering configuration for this agent; see core.AccumulationSettings.

class
string

The type of this object, always core.AccumulationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationSettings" ]
aggregation
string

How the buffered payloads are combined into the job's data when the buffer flushes.

Valid values[ "CONCAT", "CONCAT_SEPARATOR", "XML_WRAP", "JSON_ARRAY", "FINAL_VALUE" ]
Default"CONCAT"
comparators
Array of object (core.AccumulationComparator)

Payload comparisons that flush the buffer early: each entry is checked against the newest message's payload, read as payloadDataType, and entries are OR-composed with each other and with filters, maxCount, maxAgeSeconds and maxTotalBytes - any one of them flushes. Sending the member replaces the whole list.

object

One payload comparison of AccumulationSettings.comparators: operator checked against the newest buffered message's payload, read as payloadDataType, for each of values. Several values are OR-composed for the same operator, e.g. two EQUALS values flush on either.

class
string

The type of this object, always core.AccumulationComparator. Required where the member it is sent in accepts several types.

Valid values[ "core.AccumulationComparator" ]
operator
string

Comparison to apply: REGEX and CONTAINS need payloadDataType STRING; SMALLER, GREATER, SMALLER_EQUALS and GREATER_EQUALS need BIG_INTEGER, BIG_DECIMAL or DATE; EQUALS and NOT work with every supported payloadDataType. A value that fails to parse as payloadDataType fails the whole check for that message. Required.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values compared against the payload; must not be empty. Compared as text for REGEX and CONTAINS, otherwise parsed as payloadDataType.

string
enabled
boolean

true buffers messages instead of starting a job for each. While false no other member is validated. At least one of maxCount, maxAgeSeconds or maxTotalBytes must then be above 0, else the profile is rejected.

Defaultfalse
filters
Array of object (core.MessageFilter)

Function chain conditions that flush the buffer early, evaluated on the newest message like comparators (see core.MessageFilter), but through a mapping function chain instead of a fixed operator. OR-composed with comparators, maxCount, maxAgeSeconds and maxTotalBytes.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

Which buffered payload is kept when aggregation is FINAL_VALUE; ignored otherwise. MIN, MAX and AVG need payloadDataType BIG_INTEGER or BIG_DECIMAL; LAST works with every payloadDataType.

Valid values[ "MIN", "MAX", "AVG", "LAST" ]
Default"LAST"
maxAgeSeconds
integer (int32)

Seconds since the oldest buffered message that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example60
maxCount
integer (int32)

Number of buffered messages that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example100
maxTotalBytes
integer (int64)

Total buffered payload size in bytes that flushes the batch. 0 disables this trigger; see enabled.

Default0
Example1048576
metadataStrategy
string

Which buffered message's file name, sender and variables the flushed job carries: FIRST or LAST message's, COLLECT_INDEXED all of them with an index suffix, COMMON_ONLY only the values every buffered message agrees on.

Valid values[ "FIRST", "LAST", "COLLECT_INDEXED", "COMMON_ONLY" ]
Default"FIRST"
payloadDataType
string

Type each buffered message's payload is read as for comparators and, with aggregation FINAL_VALUE, for finalValueFunction. comparators only work with STRING, BIG_INTEGER, BIG_DECIMAL or DATE; a finalValueFunction other than LAST needs BIG_INTEGER or BIG_DECIMAL.

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
separator
string

Text put between the buffered payloads when aggregation is CONCAT_SEPARATOR; ignored otherwise.

Default","
xmlWrapRootName
string

Name of the root element the buffered payloads are wrapped in when aggregation is XML_WRAP; ignored otherwise. Must not be blank.

Default"concat-root"
alias
string

Name of the Google Pub/Sub connection to receive through; it must exist on the instance and be allowed for the profile's client. Its credentials also name the Google Cloud project topicId/subscriptionId are resolved in.

Min length1
subscriptionId
string

Id of the Google Cloud Pub/Sub subscription the agent pulls messages from, within the project named by alias's credentials. Created automatically if the connection is configured to auto-create subscriptions, otherwise it must already exist.

Min length1
topicId
string

Id of the Google Cloud Pub/Sub topic subscriptionId is bound to, within the project named by alias's credentials. Created automatically if the connection is configured to auto-create topics, otherwise it must already exist.

Min length1
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronOrchestrationAgentSettings
object (core.CronOrchestrationAgentSettings)
class
string

The type of this object, always core.CronOrchestrationAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronOrchestrationAgentSettings" ]
configFile
string

Configuration value handed to customClass on every run, usually the path of its configuration file relative to the Lobster installation; what it must contain depends on the class. %NAME% constants and @MSG_CALL_<name>@ trigger variables in it are resolved first. For classes that take properties, a non-empty proProperties is passed instead of this value.

Example./conf/my_task.properties
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
customClass
string

Fully qualified name of the Java class that produces the data. It must be a cron class installed on the Lobster server (registered in ./etc/admin/datawizard/custom_classes.properties or custom_own_classes.properties, or supplied by a platform module), or, for the orchestration agent, an orchestration class of a platform module. It is instantiated on every run, so a wrong name fails each run rather than being rejected on save. Every non-empty data block the class returns is processed as its own job. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=CUSTOM_CLASS; the orchestration agent takes only the orchestration classes of platform modules from that list.

Examplecom.example.MyCronTask
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
proProperties
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every data block the class returns to a separate background job and continues at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes them one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.AMQPAgentSettings
object (core.AMQPAgentSettings)
class
string

The type of this object, always core.AMQPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.AMQPAgentSettings" ]
alias
string

Name of the AMQP (Legacy) connection to receive through; it must exist on the instance and be allowed for the profile's client, otherwise the agent is not started (only logged, the profile still saves). The alias decides the protocol (AMQP 0.9.1, AMQP 1.0 or JMS).

confirmMessageAtEnd
boolean

When true, a message is acknowledged to the broker only after its job finished successfully; a failed job rejects it (see requeue091). When false, the message is acknowledged as soon as its job is queued. Not used for queueType RPC.

Defaultfalse
delimiter
string

Text put between the messages when finalValueFunction is ALL; NL stands for a line break (CRLF). Empty concatenates without a separator.

Example,
factoryName
string

Id (factory name) of the cluster node that runs this agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation.

filters
Array of object (core.MessageFilter)

Function chain that decides, for each message that arrives while the buffer is not yet full, whether the collected messages (including this one) are handed on early: the chain runs on the message text and the buffer is forwarded when its last result is true. It does not drop messages. Only evaluated with messageBufferSize above 1 and only when mqttConditions is absent; an empty mqttConditions list disables it too.

object

One function of the chain in filters of an MQTT, Kafka or AMQP (Legacy) agent: the mapping function filterId with its parameters settings. The entries of filters run in order, like a function chain on a target field whose value is the received message text; the last function's result, read as a boolean, decides whether the buffered messages are handed on early.

class
string

The type of this object, always core.MessageFilter. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilter" ]
filterId
integer (int32)

Id of the mapping function to run, from GET /platform/api/functions/preview?search=<what it should do>. An unknown id is stored and only makes the check fail at runtime.

Default0
settings
Array of object (core.MessageFilterSetting)

Parameters of the function, by position: the first entry is parameter a, the second b, and so on. Send one entry per parameter the function declares, unused ones as type constant with an empty value: many functions read their parameters by position and fail on a missing one.

object

One parameter of a function in an agent's filters (an element of settings): where the value comes from (type) and the value itself (value). The position in settings decides which parameter of the function it fills.

class
string

The type of this object, always core.MessageFilterSetting. Required where the member it is sent in accepts several types.

Valid values[ "core.MessageFilterSetting" ]
index
string

Letter of the parameter this entry fills: a for the first, b for the second, and so on. Keep it matching the entry's position in settings: the function takes its parameters by position.

Examplea
type
string

Where the parameter's value comes from: constant the text in value (%name% constants are resolved), linked field the received message text (value is ignored), result the result of an earlier function of the same filters list, value being its 1-based position, variable the variable named in value (the profile's own variables are not available in this check). field, destination and input refer to source fields, target fields and macro inputs, which the message check does not have. Required; any other value is rejected.

Exampleconstant
value
string

The parameter's value as text; its meaning depends on type: the constant itself, the 1-based position of an earlier function for result, or a variable name for variable.

xpathExpression
string

XPath of a source value, used only by the XML/JSON path mapping engine; the message check runs a simple mapping and ignores it. Leave it empty.

finalValueFunction
string

What the job receives from the collected messages: LAST the most recent one, ALL all of them joined with delimiter, MIN/MAX the one with the smallest/largest numeric value, AVG their average. MIN, MAX and AVG need a numeric genericDataType (INTEGER, FLOAT, BIG_DECIMAL or BIG_INTEGER), ALL works for STRING, INTEGER, FLOAT, BIG_DECIMAL and BIG_INTEGER; any other combination produces no job, also with messageBufferSize 1.

Valid values[ "MIN", "MAX", "AVG", "ALL", "LAST" ]
Default"LAST"
genericDataType
string

Type the whole message payload is read as for mqttConditions and finalValueFunction: STRING text, INTEGER, DOUBLE, DATE (yyyy-MM-dd), FLOAT, BIG_DECIMAL or BIG_INTEGER. mqttConditions support STRING, INTEGER, DOUBLE, DATE, FLOAT and BIG_INTEGER. A message that does not parse as the type fails the check (logged).

Valid values[ "STRING", "INTEGER", "DOUBLE", "DATE", "BOOLEAN", "FLOAT", "BIG_DECIMAL", "BIG_INTEGER", "TIMESTAMP", "BLOB" ]
Default"STRING"
jmsClientId
string

JMS client id set on the connection, which brokers need for durable topic subscriptions. Empty sets none. Only for JMS aliases; two profiles on the same alias must not use the same client id. %name% constants are resolved.

jmsMessageSelector
string

JMS message selector (SQL-92 syntax on message headers and properties) that limits which messages the agent receives. Empty receives all. Only for JMS aliases. %name% constants are resolved.

ExampleNewsType = 'Sports' OR NewsType = 'Opinion'
jmsUnsubscribeTopic
boolean

When true, the durable JMS subscription subscriberName is removed when the agent closes its topic session (profile stopped, connection restarted), so messages published meanwhile are not kept for it. Only for JMS aliases with queueType TOPIC.

Defaultfalse
messageBufferSize
integer (int32)

Number of messages collected before they are handed on together as one job, combined by finalValueFunction. 1 starts one job per message; timeout, mqttConditions and filters only have an effect above 1.

Default1
Example10
messageIntervalCheck
integer (int32)

Stored but not evaluated by the AMQP agent: mqttConditions and filters are checked on every message.

Default1
mqttConditions
Array of object (core.MqttConditionEntry)

Conditions that hand the collected messages on early: when a message that arrives before the buffer is full matches any value of any entry, the buffer including this message is forwarded. The whole message is compared, read as genericDataType; entries are OR-linked. They do not drop messages. Only evaluated with messageBufferSize above 1; when present (even as an empty list), filters are ignored.

object

One entry of mqttConditions of an MQTT, Kafka or AMQP (Legacy) agent: a comparison (condition) and the values the whole received message is compared with, read as the agent's genericDataType. The entry matches when the message matches any of its values; the entries of the list are OR-linked. A match hands the buffered messages on early, it does not filter messages out.

class
string

The type of this object, always core.MqttConditionEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.MqttConditionEntry" ]
condition
string

Comparison to apply. Text (genericDataType STRING) supports REGEX, CONTAINS, EQUALS and NOT; numbers support EQUALS, NOT and the four comparisons; dates only SMALLER, GREATER and EQUALS; any other combination never matches. Required; a missing or unknown name is rejected. A later entry with the same condition replaces an earlier one.

Valid values[ "REGEX", "CONTAINS", "SMALLER", "GREATER", "EQUALS", "NOT", "SMALLER_EQUALS", "GREATER_EQUALS" ]
values
Array of string

Values the message is compared with, written in the agent's genericDataType, e.g. dates as 2024-12-31 or a regular expression for REGEX. Every value must parse as that type, otherwise the check fails.

string
persistent
boolean

Durability: with AMQP 0.9.1 a queue or exchange the agent declares itself is declared durable; with JMS and queueType TOPIC the agent creates a durable subscription named subscriberName. Not used for queueType RPC and not for AMQP 1.0.

Defaultfalse
prefetchCount
integer (int32)

AMQP 0.9.1 prefetch count: the maximum number of unacknowledged messages the broker delivers to this agent at once. 0 means no limit; queueType RPC always uses 1. Ignored for AMQP 1.0 and JMS.

Default0
prefetchSize
integer (int32)

AMQP 0.9.1 prefetch window in bytes (basic.qos prefetch size): the broker sends at most this many unacknowledged bytes. 0 means no limit; RabbitMQ accepts only 0. Ignored for queueType RPC, AMQP 1.0 and JMS.

Default0
propertyKeyForFileName
string

Message attribute that becomes the job's file name: CorrelationId or MessageId (the name is then CID <id> or MID <id>), for AMQP 1.0 also Subject, or the name of any other message property/header, whose value is used as is. Empty or a missing value gives amqp.data; / is replaced by ..

qualityOfService
string

Delivery guarantee the consumer requests from an AMQP 1.0 broker. Only used for AMQP 1.0 aliases with queueType PUBLISH or RPC (topic and routing consumers always use AT_LEAST_ONCE); AMQP 0.9.1 and JMS ignore it.

Valid values[ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ]
Default"EXACTLY_ONCE"
queueName
string

Queue to consume from; for AMQP 0.9.1 with queueType TOPIC or ROUTING it is the name of the exchange, and for JMS the name of the queue or topic destination. %name% constants are resolved. With AMQP 0.9.1 a queue or exchange that does not exist is declared by the agent (durable when persistent is true) unless the connection requires it to exist.

Exampleorders.in
queueType
string

How the agent consumes: PUBLISH Subscriber (reads the queue queueName), TOPIC (AMQP 0.9.1: binds to the topic exchange queueName with routingKey; JMS: subscribes to the topic queueName), ROUTING (AMQP 0.9.1 direct exchange with routingKey; not supported by JMS), RPC (reads requests from queueName and sends the profile's response back to the requester; add a response unit that returns data).

Valid values[ "PUBLISH", "TOPIC", "ROUTING", "RPC" ]
Default"PUBLISH"
requeue091
boolean

What happens to a message whose job failed: true puts it back into the queue at its position (it then blocks the queue until a job succeeds), false lets the broker discard it or move it to a dead-letter queue. Only for AMQP 0.9.1 aliases and only with confirmMessageAtEnd true.

Defaultfalse
routingKey
string

Routing key the agent binds its own temporary queue with to the exchange queueName. Only used for AMQP 0.9.1 with queueType TOPIC (topic exchange, wildcards * and #) or ROUTING (direct exchange); ignored otherwise. %name% constants are resolved.

Exampleorders.#
subscriberName
string

Name of the durable JMS topic subscription; the broker keeps unread messages under this name, so keep it stable. Only used for JMS aliases with queueType TOPIC and persistent true. %name% constants are resolved. When not set, a name SUB<number> is generated.

timeout
integer (int32)

Seconds after which the messages collected so far are handed on as one job even though fewer than messageBufferSize have arrived; checked about every 5 seconds. 0 waits until the buffer is full. Only meaningful with messageBufferSize above 1.

Default0
Example30
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronSapAgentSettings
object (core.CronSapAgentSettings)
class
string

The type of this object, always core.CronSapAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSapAgentSettings" ]
alias
string

Name of the SAP connection to call through; the profile's client must be allowed to use it. %NAME% constants are resolved. An unknown or disallowed alias fails each run.

cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fields
Array of object (core.SapField)

Scalar import parameters of the function module, one entry per parameter. Values may contain placeholders that are resolved on each run, e.g. @yyyyMMdd@ for the current date, %NAME% for a constant or @MSG_CALL_<NAME>@ for a variable a trigger handed over.

object

One scalar import parameter of the SAP function module an SAP cron agent calls; one element of fields. Sets the parameter key to value before each call.

class
string

The type of this object, always core.SapField. Required where the member it is sent in accepts several types.

Valid values[ "core.SapField" ]
key
string

Name of the import parameter as the function module defines it.

ExampleMAXROWS
value
string

Value passed for the parameter; date masks, %NAME% constants and @NAME@ variables are resolved on each run. Always send it: an entry without a value fails the run.

Example100
fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

format
string

Format the function's result is converted to before the profile parses it. Choose the profile's input format to match.

Valid values[ "CSV", "FIX", "XML", "SAP_XML" ]
Default"CSV"
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

rfcName
string

Name of the remote-enabled SAP function module to call. A name the SAP system does not know fails the run.

ExampleBAPI_MATERIAL_GETLIST
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
structures
Array of object (core.SapStructureEntry)

Structure-typed import parameters of the function module, one entry per structure with its field names in header and a single row of values. An entry without rows is skipped; a name the function does not have fails the run.

object

Values for one structure or table parameter of the SAP function module an SAP cron agent calls; one element of structures or tables. header names the columns, each element of rows gives the values for those columns in the same order.

class
string

The type of this object, always core.SapStructureEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureEntry" ]
header
Array of string

Field names of the structure or table, in the order the values of each row follow. A row must not have more values than header has names.

string
name
string

Name of the structure or table parameter as the function module defines it. Must be unique within its list; a later entry with the same name replaces an earlier one.

ExampleIMPORTSTRUCT
rows
Array of object (core.SapStructureRow)

The values to set: for a structure one row (further rows overwrite its values); for a table one row per table line to append. With no rows the parameter is left untouched.

object

One row of values for an SAP structure or table parameter; one element of the rows of an entry in structures or tables.

class
string

The type of this object, always core.SapStructureRow. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureRow" ]
values
Array of string

Values in the order of the entry's header, e.g. ["000000000000004711", "1000"]. Date masks such as @yyyyMMdd@, %NAME% constants and @NAME@ variables are resolved on each run.

string
tables
Array of object (core.SapStructureEntry)

Table parameters of the function module to fill before the call, one entry per table with its column names in header and one row per table line; the table is cleared first. A name that is neither a table nor a table-typed import parameter of the function fails the run.

object

Values for one structure or table parameter of the SAP function module an SAP cron agent calls; one element of structures or tables. header names the columns, each element of rows gives the values for those columns in the same order.

class
string

The type of this object, always core.SapStructureEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureEntry" ]
header
Array of string

Field names of the structure or table, in the order the values of each row follow. A row must not have more values than header has names.

string
name
string

Name of the structure or table parameter as the function module defines it. Must be unique within its list; a later entry with the same name replaces an earlier one.

ExampleIMPORTSTRUCT
rows
Array of object (core.SapStructureRow)

The values to set: for a structure one row (further rows overwrite its values); for a table one row per table line to append. With no rows the parameter is left untouched.

object

One row of values for an SAP structure or table parameter; one element of the rows of an entry in structures or tables.

class
string

The type of this object, always core.SapStructureRow. Required where the member it is sent in accepts several types.

Valid values[ "core.SapStructureRow" ]
values
Array of string

Values in the order of the entry's header, e.g. ["000000000000004711", "1000"]. Date masks such as @yyyyMMdd@, %NAME% constants and @NAME@ variables are resolved on each run.

string
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

waitTime
integer (int32)

Seconds to wait for the SAP call before the run fails; 0 waits without limit, and a negative value is stored as 0.

Default180
Example180
core.SMTPAgentSettings
object (core.SMTPAgentSettings)
class
string

The type of this object, always core.SMTPAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SMTPAgentSettings" ]
channel
object (core.IntegrationPartnerChannelMail)

The partner mail channel mails must come from, given as {"id": ...}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type MAIL). Checked on write and read back resolved. null for none.

class
string

The type of this object, always core.IntegrationPartnerChannelMail. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelMail" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.MailChannelProtocol)

What the channel may be used for: any of SMTP and ASMTP (sending mail, without and with a login) and POP3 and IMAP (fetching mail). At least one must stay allowed (an empty list leaves the stored allowance unchanged), and POP3 and IMAP are mutually exclusive (the editor keeps one); null or left out keeps the stored allowance, which on a new channel permits all four.

Example["SMTP", "IMAP"]
string

A mail protocol the channel may be used with: allowedProtocols of a mail channel.

  • SMTP: SMTP: sending mail without login.
  • ASMTP: ASMTP: sending mail through an SMTP server that requires a login.
  • POP3: POP3: fetching mail from a POP3 mailbox.
  • IMAP: IMAP: fetching mail from an IMAP mailbox.
Valid values[ "SMTP", "ASMTP", "POP3", "IMAP" ]
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
encryptionAlgorithm
string

Cipher for encrypting outgoing mails; used only when the channel sends encrypted. Not validated on save. null or left out keeps the stored value.

Default"AES"
ExampleAES
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
imapFolder
string

IMAP folder mail is fetched from; a directory set in the IMAP cron job overrides it.

Default"INBOX"
ExampleINBOX/orders
incomingMaxSize
integer (int64)

Largest incoming mail accepted on this channel, in bytes. Must be at most 1073741824 (1024 MB). null (or leaving it out on create) means no limit, and an unlimited channel reads back null.

Minimum1
Example10485760
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

The platform's own mail address on this channel; matched case-insensitively, so an incoming mail is assigned to the channel whatever case it is addressed in, while the address is stored and read back as given. Unless the channel stores its own SMTP or retrieval user name, the platform logs in with this address, so changing it changes that login too. null or left out keeps the stored value.

Exampleedi@lobster.example
localTlsAuthCertificateId
string

Id of the platform's own certificate (with private key) it presents as TLS client certificate when it connects to the partner. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example42
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
receivingEncrypted
boolean

Whether the messages the partner sends over this channel must be encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unencrypted messages.

Defaultfalse
receivingSigned
boolean

Whether the messages the partner sends over this channel must be signed. Leaving it out keeps the stored value, null resets it to false; a new channel accepts unsigned messages.

Defaultfalse
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

The partner's mail address, stored in lower case; an SMTP response unit sends to it unless the unit names its own receiver. A channel that receives mail should hold exactly one address; this API does not check. Left out, the server fills a placeholder address (mail...@mail.org).

Exampleedi@acme.example
remoteTlsAuthCertificateId
string

Id of the partner's certificate (public key) it must present as TLS client certificate when it connects to the platform. Must reference an existing certificate. Leaving it out keeps the stored value, null or an empty string removes it.

Pattern^\d*$
Example43
retrievalAuthMechanism
string

SASL mechanism for the POP3/IMAP login when mail is fetched through this channel; left out, the mail library negotiates one.

ExampleXOAUTH2
retrievalServerUrl
string

POP3/IMAP server the platform fetches mail from through this channel (pop3://, pop3s://, pop3es://, imap://, imaps:// or imapes://; the s variants are TLS, the es variants STARTTLS). Another scheme is accepted as given and fails when mail is retrieved. null or left out keeps the stored value.

Exampleimaps://mail.acme.example:993
sendingCompressed
boolean

Whether the messages the platform sends over this channel are compressed. Leaving it out keeps the stored value, null resets it to false; a new channel does not compress.

Defaultfalse
sendingEncrypted
boolean

Whether the messages the platform sends over this channel are encrypted. Leaving it out keeps the stored value, null resets it to false; a new channel does not encrypt.

Defaultfalse
sendingSigned
boolean

Whether the messages the platform sends over this channel are signed. Leaving it out keeps the stored value, null resets it to false; a new channel does not sign.

Defaultfalse
signingAlgorithm
string

Hash algorithm for signing outgoing mails; used only when the channel sends signed. Not validated on save. null or left out keeps the stored value.

Default"SHA256"
ExampleSHA256
smtpAuthMechanism
string

SASL mechanism for the SMTP login, case-insensitive; OAuth2 tokens are not settable through this API. Left out, the mail library negotiates one.

ExamplePLAIN
smtpServerUrl
string

SMTP server that mails to this partner are sent through (smtp:// default port 25, smtps:// 465, smtpes:// for STARTTLS). A host or port set in the SMTP response unit overrides it.

Pattern^(smtp|smtps|smtpes)://.+
Examplesmtps://mail.acme.example:465
filePattern
string

Attachment file name pattern; required unless the mail body is used.

ignoreChannelOfMail
boolean

Whether the channel of the mail is ignored.

Defaultfalse
mimeType
string

Content type of the mail body; used when the mail body is taken.

Default"text/plain"
receiverAddress
string

Recipient address mails must be sent to; may contain defined constants.

senderAddress
string

Sender address mails must come from; may contain defined constants.

siblingIsSameLocalId
boolean

Whether a mail from a channel of the same local id is accepted.

Defaultfalse
subject
string

Subject text a mail must match.

typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

useBody
boolean

Whether the mail body is taken instead of the attachment.

Defaultfalse
useRPCTo
boolean

Whether the RPC recipient address is used.

Defaultfalse
core.CronSshAgentSettings
object (core.CronSshAgentSettings)
class
string

The type of this object, always core.CronSshAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronSshAgentSettings" ]
channel
object (core.IntegrationPartnerChannelSFTP)

The SFTP partner channel to fetch from over SCP, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type SFTP). Checked on write and read back resolved. The channel must allow SCP, otherwise every run fails with "channel does not match subtype". Its direction must be IN or IN_AND_OUT, which is checked on write. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelSFTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelSFTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
allowedProtocols
Array of string (core.SshProtocol)

Protocols the partner may log in to the platform's SSH server with: any of SCP, SFTP, SSH (remote command execution). At least one must stay allowed; null, an empty list or left out keeps the stored allowance, which on a new channel permits SCP and SFTP but not SSH.

Example["SFTP"]
string

An SSH flavour the partner may use to log in to the platform's SFTP server: allowedProtocols of an SFTP channel.

  • SCP: SCP: file copy over SSH.
  • SFTP: SFTP: file transfer over SSH.
  • SSH: SSH: remote command execution. Not allowed on a new channel.
Valid values[ "SCP", "SFTP", "SSH" ]
blackListAddresses
Array of string

Addresses the partner may not log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 203.0.113.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it.

Example["203.0.113.7"]
string
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
host
string

Host name or IP address of the partner's SFTP server - no scheme, port or path. Used when the platform connects to the partner; a host set in the cron job or response unit overrides it. {"host": null, "port": null} clears the address.

Pattern^(\[[0-9A-Fa-f:.]+\]|[^\s/\\?#@:\[\]]+)$
Examplesftp.acme.example
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
keyFingerprint
string

Fingerprint of the host key the partner's SFTP server must present when the platform connects; compared case-insensitively together with keyType, and the connection fails on a mismatch. Left blank, any host key is accepted.

ExampleSHA256:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU
keyType
string

Type of the host key the partner's SFTP server must present, as the SSH library reports it; checked together with keyFingerprint.

Examplessh-ed25519
localId
string

User name the platform logs in with at the partner's SFTP server (SSH login); its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
port
integer (int32)

TCP port of the partner's SFTP server. Requires host. A port set in the cron job or response unit overrides it.

Minimum1
Maximum65535
Default22
Example22
privateKeyId
string

Id of the local certificate holding the key pair the platform authenticates with (public-key authentication) when it connects to the partner's SFTP server. Must reference an existing certificate with an SSH common name.

Pattern^\d+$
Example42
remoteCertificateIds
Array of string

Ids of the partner's certificates (public keys) in the certificate store, one of which the partner may authenticate with when it logs in to the platform's SFTP server by public key. Each must reference an existing certificate. Leaving it out keeps the stored list, null or an empty list removes it.

Example["43"]
string
remoteId
string

User name the partner logs in with on the platform's SFTP server; its password is remotePassword, its public keys are remoteCertificateIds. Must be unique among all SFTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme
remotePassword
string (password)

The password the partner logs in with on the platform's server as remoteId. A secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Required on create. A channel that has one cannot be changed to an empty one; a channel stored without one stays writable without. null or left out keeps the stored value. Holds a secret. A read returns it encrypted; a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else.

Min length1
ExamplePLAIN:s3cret-for-acme
remotePath
string

Directory on the Lobster server that becomes the partner's home when it logs in to the platform's SFTP server as remoteId (relative paths resolve against the server's working directory). Not a path on the partner's server. Without one the partner's file paths resolve against the server's working directory. Left out or blank on create, the server picks <client default channel directory>ssh/<id hash> like the channel editor and creates that directory, on the DMZ too where one is configured; a directory given here is not created. A stored directory cannot be changed to a blank one (422), which an overwrite patch that leaves the member out would do.

Example./ssh/acme
virtualRoot
boolean

Whether the partner, logged in on the platform's SFTP server, sees a virtual file system with its home directory as the root (/) instead of the real path of the home directory. null or left out keeps the stored value; a new channel shows the real path.

whiteListAddresses
Array of string

Addresses the partner may log in to the platform's SFTP server from: IP addresses, host names or address/netmask ranges, e.g. 198.51.100.0/255.255.255.0. Leaving it out keeps the stored list, null or an empty list removes it; with a list set, a login from any other address is refused.

Example["198.51.100.0/255.255.255.0"]
string
wireCharset
string

Character set the SFTP/SCP server and client use for file names on the wire, e.g. ISO-8859-1. Not validated on save. Leaving it out keeps the stored value, null or an empty string removes it so the SSH library's default applies.

ExampleISO-8859-1
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dir
string

Directory to read from on the partner's server. SCP agent: the remote path the files are copied from; WebDAV agent: the path appended to url (a missing / between them is added). Date masks such as <yyyyMMdd>, %NAME% constants and @MSG_CALL_<name>@ variables are resolved.

Exampleinbox/orders
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a fetched file on the server: NONE leaves it (so it is read again on the next run), RENAME renames or moves it as fileRename says. The WebDAV agent does this right after the download, before processing; the SCP agent after processing.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. SCP agent: sent as part of the scp source path, so the remote shell's wildcards apply; a received file that then does not match the pattern (*, ?, |, regex:, ignoring case) is stored in 'unresolved' and skipped. WebDAV agent: the directory listing is filtered with that syntax, and files the server reports as zero bytes are skipped.

Default"*"
Example*.xml
fileRename
string

New name of a fetched file when fileHandling is RENAME: <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. SCP agent: the file is moved with mv, so a relative name is relative to the login directory, not to dir. WebDAV agent: a value starting with / is appended to url, any other to url plus dir, and <file> is inserted URL-encoded. Empty leaves the file in place.

Exampledone/<file>
host
string

Host name of the server; non-empty overrides the channel's. null resets it.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
port
integer (int32)

Port of the server; above 0 overrides the channel's. null resets it.

profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every fetched file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CommLogAgentSettings
object (core.CommLogAgentSettings)
class
string

The type of this object, always core.CommLogAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CommLogAgentSettings" ]
allPartners
boolean

Whether the agent logs entries for every partner instead of only partnerList. A write that switches to a selection with partnerList empty is refused: a selection with nothing selected would never match.

Defaulttrue
allProtocolTypes
boolean

Whether the agent logs entries for every communication protocol instead of only protocolTypes. Subject to the same all-or-selection rule as allPartners.

Defaulttrue
commType
string

Communication-log event type this agent filters on; see core.CommLogEventType.

Valid values[ "ALL", "MDN", "NDN" ]
Default"ALL"
direction
string

Communication direction this agent filters on; see core.CommLogDirection.

Valid values[ "ALL", "IN", "OUT" ]
Default"ALL"
partnerList
Array of integer

Ids of the partners this agent's log entries are limited to; get them with GET /platform/api/partners/preview. Only with allPartners false; sent while it is true it is refused, since the platform clears it.

integer (int64)
protocolTypes
Array of string (core.CommLogProtocolType)

Communication channel protocols this agent's log entries are limited to; see core.CommLogProtocolType. Only with allProtocolTypes false; sent while it is true it is refused.

string

Communication channel protocol a communication-log input agent filters on: protocolTypes of the agent.

  • AS2: AS2.
  • FAX: Fax.
  • HTTP: HTTP(S).
  • MAIL: Mail.
  • OFTP: OFTP.
  • X400: X.400.
Valid values[ "AS2", "FAX", "HTTP", "MAIL", "OFTP", "X400" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.SapAleAgentSettings
object (core.SapAleAgentSettings)
class
string

The type of this object, always core.SapAleAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.SapAleAgentSettings" ]
combineMessages
integer (int32)

Number of IDOCs of the same kind grouped into one job before it is handed to the target profile. 1 means no grouping.

Default1
factoryName
string

Id (factory name) of the cluster node that runs this ALE listener in a load-balanced installation; empty runs it on the active node. Only relevant with load balancing - it is always stored empty otherwise.

maxDocs
integer (int32)

Maximum number of IDOCs the platform accepts in one ALE transmission from SAP; a transmission with more is refused entirely and no job runs.

Default1000
Example1000
relations
Array of object (core.SapAleRelation)

Ordered IDOC-to-profile routing table; see core.SapAleRelation. Must name at least one rule - the editor refuses to save an empty table.

object

One rule of a SAP ALE input agent's IDOC-to-profile routing table: one entry of relations. An incoming IDOC is matched against every rule's idoc, cim and field/fieldValue; the most specific match (or, with useAndOperation, the profile matching the most rules) decides which profileName runs.

class
string

The type of this object, always core.SapAleRelation. Required where the member it is sent in accepts several types.

Valid values[ "core.SapAleRelation" ]
cim
string

IDOC extension (CIM) type this rule additionally matches; left blank, any CIM for the given idoc matches.

field
string

Name of the IDOC segment field checked against fieldValue; only evaluated when fieldValue is set.

Default"TABNAM"
fieldValue
string

Value field must equal for this rule to match; left blank the rule matches on idoc/cim alone.

idoc
string

IDOC type this rule matches; * matches any IDOC not matched more specifically by another rule.

Min length1
ExampleORDERS01
profileName
string

Name of the profile started for a matching IDOC; must already exist.

Min length1
sapAlias
string

Name of the SAP connection to receive ALE IDOCs from; the profile's client must be allowed to use it.

Min length1
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

useAndOperation
boolean

Whether a profileName used by more than one row of relations is only chosen once every one of its rows also finds a distinct match in the same IDOC, instead of the single best matching row deciding alone.

Defaultfalse
usePersistentMessage
boolean

Whether the message handed to the matching profileName is persistent (kept up to 96 hours, delivered once a consumer is available) instead of synchronous (waits up to 12 hours for the profile's answer).

Defaultfalse
core.CronWebdavAgentSettings
object (core.CronWebdavAgentSettings)
class
string

The type of this object, always core.CronWebdavAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronWebdavAgentSettings" ]
certId
integer (int64)

Id of the local certificate the HTTPS connection authenticates with; it must already exist on the instance. 0 uses the local certificate of the comChannelId channel, if it has one.

Default0
comChannelId
integer (int64)

Id of an HTTP partner channel that supplies the password and whatever url, user and certId leave empty; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). Stored as sent without any check, so a wrong id only fails when the agent runs. 0 uses no channel. A trigger variable VAR_SYS_TRIGGER_CHANNEL_ID replaces it for that run.

Default0
Example4711
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dir
string

Directory to read from on the partner's server. SCP agent: the remote path the files are copied from; WebDAV agent: the path appended to url (a missing / between them is added). Date masks such as <yyyyMMdd>, %NAME% constants and @MSG_CALL_<name>@ variables are resolved.

Exampleinbox/orders
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

fileHandling
string

What happens to a fetched file on the server: NONE leaves it (so it is read again on the next run), RENAME renames or moves it as fileRename says. The WebDAV agent does this right after the download, before processing; the SCP agent after processing.

Valid values[ "DELETE", "NONE", "RENAME" ]
Default"DELETE"
filePattern
string

Names of the files to fetch. SCP agent: sent as part of the scp source path, so the remote shell's wildcards apply; a received file that then does not match the pattern (*, ?, |, regex:, ignoring case) is stored in 'unresolved' and skipped. WebDAV agent: the directory listing is filtered with that syntax, and files the server reports as zero bytes are skipped.

Default"*"
Example*.xml
fileRename
string

New name of a fetched file when fileHandling is RENAME: <file> is the original name, <file-prefix> the name without its extension, other <...> masks insert the current date and time. SCP agent: the file is moved with mv, so a relative name is relative to the login directory, not to dir. WebDAV agent: a value starting with / is appended to url, any other to url plus dir, and <file> is inserted URL-encoded. Empty leaves the file in place.

Exampledone/<file>
httpHeader
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands every fetched file to a separate background job and continues with the next file at once, so several jobs of this profile run in parallel and their order is not guaranteed; false processes the files one after another within the run.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

url
string

Base URL of the WebDAV server; dir is appended to it. Empty uses the address of the comChannelId channel. Date masks, %NAME% constants and variables are resolved.

Examplehttps://dav.example.com/remote.php/dav/files/acme
user
string

Login name at the WebDAV server. Empty uses the login of the comChannelId channel.

core.RuleAgentSettings
object (core.RuleAgentSettings)
class
string

The type of this object, always core.RuleAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.RuleAgentSettings" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

core.CronHttpAgentSettings
object (core.CronHttpAgentSettings)
class
string

The type of this object, always core.CronHttpAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpAgentSettings" ]
certId
integer (int64)

Id of a client certificate for TLS client authentication at an https target; the certificate must already exist on the instance. A wrong id fails each run ("Defined certificate can not be found!"). 0 uses none, except a key store file etc/certs/<host> on the server if one exists.

Default0
Example42
channel
object (core.IntegrationPartnerChannelHTTP)

The HTTP partner channel the request goes through, as {"id": <channelId>}; list channels with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP). Checked on write and read back resolved. A channel that was deleted reads as no channel; a copy references none.

class
string

The type of this object, always core.IntegrationPartnerChannelHTTP. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerChannelHTTP" ]
active
boolean

Whether the channel is in use. Only active channels take part at runtime: logins on the platform's servers and the matching of incoming data to a partner skip inactive ones. A partner whose status is INACTIVE makes all its channels read as false in the channel list.

Defaultfalse
communicationLogEnabled
boolean

Whether the transfers over this channel are written to the communication log. null or left out keeps the stored value; a channel that never stored the setting reads as true.

communicationLogRetainDays
integer (int32)

Number of days the communication log keeps this channel's entries; 0 and up are stored, -1 removes the setting so the communication log service's global retention applies. Only used while communicationLogEnabled is on. null or left out keeps the stored value; a channel that never stored one reads -1.

Minimum-1
Default-1
contact
object (core.IntegrationPartnerContact)

The channel's contact person, the one the channel editor's contact section shows. Every channel created here gets exactly one: left out, an empty one. Only one channel contact is exposed; a channel that stores more than one shows the first, and a write leaves the others as they are. null or left out keeps the stored contact. On create its id is ignored; on update an id must be the channel's own contact id.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
direction
string

The way data flows over the channel: IN (the partner sends to the platform), OUT (the platform sends to the partner) or IN_AND_OUT. Left out or null on create it defaults to IN; it cannot be set to null afterwards. JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub, cloud storage and SMB channels are always IN_AND_OUT: that is their default, any other value is refused, and a patch sending null there changes nothing. A legacy channel of these types stored with neither flag set reads IN_AND_OUT and has both flags set by its next write. Any other channel stored before this member existed, with no direction, reads back without it until one is written.

Valid values[ "IN", "OUT", "IN_AND_OUT" ]
groupName
string

Authentication realm of the partner's login: a login on the platform's HTTP server only finds this channel when the realm of the protected area being called matches.

Default"DEFAULT"
id
integer (int64)

Numeric id of the channel, assigned by the server on create; on the channel resource a value sent in the body is ignored. Profiles reference a channel by this id, looked up with GET /platform/api/partners/preview/{partnerId}/channels.

Example1042
internalUsageOnly
boolean

Whether the channel stays on the platform's own server and is not synchronized to a DMZ server (the editor's "Invisible to DMZ" switch). null or left out keeps the stored value; a new channel is visible to the DMZ, except a new SMB channel, which is stored invisible unless it sends false. A new JMS, AMQP 0-9-1, AMQP 1.0, Google Pub/Sub and cloud storage channel is stored invisible to the DMZ, as the editor does; there the member reads absent, a value sent is ignored and a stored channel keeps its flag.

Defaultfalse
localCertificateId
string

Id of one of the platform's own certificates (with private key) that this channel uses. Must reference an existing certificate.

Pattern^\d+$
Example42
localId
string

User name the platform authenticates with at the partner's HTTP server; its password is not settable through this API. null or left out keeps the stored value.

Examplelobster-edi
name
string

Display name of the channel. Must be unique among the partner's channels of the same type.

Min length1
Max length100
openIdSettings
object (core.OpenIdSettings)

How the platform validates a bearer-token (JWT) login of the partner on its HTTP server: issuer, audience and the certificate or key endpoint the signature is checked against. Read back only when the stored settings are readable on this installation; otherwise null, and a write of null keeps them. null or left out keeps the stored settings; {} (every member empty) removes them. Writing settings drops the channel's OAuth2 tokens, as the editor does (the two are exclusive). While the channel issues JWT tokens itself, the settings hold its signing certificate: a change must keep a stored certificateId with a private key, must not set certificateDynamicFetch, and cannot remove the settings.

class
string

The type of this object, always core.OpenIdSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.OpenIdSettings" ]
audience
string

Audience (aud claim) a partner's token must contain: the token's aud may be this one value or a list that includes it.

Examplelobster-platform
certificateDynamicFetch
boolean

true fetches the signing keys from url instead of using the stored certificate certificateId; false, null or left out uses the stored certificate.

Defaultfalse
certificateId
string

Id of the stored (partner) certificate whose public key verifies the token signature; used when certificateDynamicFetch is not true. Must reference an existing certificate.

Example43
issuer
string

Issuer (iss claim) a partner's token must carry; compared for an exact match.

Examplehttps://login.acme.example
url
string

JWKS endpoint of the issuer the signing keys are fetched from; used only when certificateDynamicFetch is true.

Examplehttps://login.acme.example/.well-known/jwks.json
partner
object (core.IntegrationPartner)

The partner that owns the channel, embedded on read. Set by the server from the {partnerId} in the request path; a value sent here is ignored, and a channel cannot move to another partner.

class
string

The type of this object, always core.IntegrationPartner. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartner" ]
contacts
Array of object (core.IntegrationPartnerContact)

Contacts of the partner (people, not logins). null or left out keeps the stored contacts; a list replaces them: contacts not in the list are deleted, entries with a known id are updated, entries without one are created. Not carried on the partner embedded in a channel body.

object

A contact person (a person to reach, not a login): a partner's contacts are held in the partner's contacts member, the contact of a single channel in that channel's contact member.

class
string

The type of this object, always core.IntegrationPartnerContact. Required where the member it is sent in accepts several types.

Valid values[ "core.IntegrationPartnerContact" ]
emailAddresses
Array of string

E-mail addresses of the contact, one entry per address; in the stored form (comma-separated, display names quoted) they must fit 250 characters.

Example["erika.mustermann@acme.example"]
string
fax
string

Fax number of the contact.

Max length20
Example+49 30 1234568
id
integer (int64)

Id of the contact, assigned by the server. Ignored on create. On a partner update an id must be one of this partner's stored contact ids and updates that contact, left out creates a new one; on a channel update it must be the id of the channel's own contact, left out updates that contact.

language
string

Language of the contact, as stored by the platform; left out or blank, none is set.

Max length10
Examplede
name
string

Name of the contact person.

Max length250
ExampleErika Mustermann
note
string

Free-text note about the contact.

phone
string

Phone number of the contact.

Max length20
Example+49 30 1234567
id
integer (int64)

Numeric id of the partner, assigned by the server on create; it is the {partnerId} in the partner's URLs and its channels' URLs. A value sent in a body is ignored.

isManagedByTpm
boolean

true when the partner is managed by the connected Trading Partner Manager (TPM). Such a partner and its channels cannot be deleted through this API. Set only by the TPM synchronisation; a value sent here is ignored.

name
string

Display name of the partner. Must be unique among all partners that are not deleted.

Min length1
Max length250
ExampleACME Logistics
policy
string

Name of the rate-limit policy for requests this partner sends to the platform's REST API and MCP endpoints through its HTTP channels; it applies when the HTTP channel itself names no policy. Global is built in; another name must reference an existing policy. Left out on create or blank, the partner has no policy; an explicit null keeps the stored value.

ExampleGlobal
status
string

Whether the partner is in use. An explicit null keeps the stored value. DELETED cannot be written - delete the partner with DELETE instead.

Valid values[ "ACTIVE", "INACTIVE", "DELETED" ]
Default"ACTIVE"
policy
string

Name of the rate-limit policy applied to requests the partner sends through this HTTP channel. Global is built in. null or left out keeps the stored value; a blank string clears it.

ExampleGlobal
remoteCertificateId
string

Id of the partner's certificate (public key) in the certificate store that this channel uses, the counterpart of localCertificateId. Must reference an existing certificate.

Pattern^\d+$
Example43
remoteId
string

User name the partner logs in with on the platform's HTTP server (HTTP authentication); its password is not settable through this API. Must be unique among all HTTP channels. Left out, the server fills an AUTO_CREATE_... placeholder that nobody can log in with.

Exampleacme-http-user
url
string

Base URL of the partner's server. An HTTP response unit that names this channel takes the host (and the port, if the unit sets none) from it when its own host is empty or <serverurl>, and replaces <serverurl> in its URL with this URL's path; an HTTP cron job replaces <serverurl> with the whole URL.

Pattern^https?://.+
Examplehttps://api.acme.example/orders
userRoles
Array of string

Role names the partner holds after logging in with this channel; which role a protected HTTP area requires is part of the platform's HTTP server configuration, not of the channel. Stored as given.

string
continueHttpCronWithSameUrl
boolean

true keeps paging when the next page's URL equals the previous one; false stops paging at a repeated URL. Only used with selfTrigger.

Defaultfalse
cronSchedule
Array of string

When the agent runs: a list of crontab expressions with six space-separated fields second minute hour day-of-month month day-of-week. The agent runs whenever any entry matches, in the server's time zone, and only while the profile is active. A field takes *, a number, a list 0,30, a range 8-17 (hour ranges may wrap, 22-2), a stepped range 8-18/2 or a step */15 (not 0/15). Month is 1-12, day-of-week 1 = Sunday to 7 = Saturday, and day-of-month also accepts L for the last day; names such as MON and ? are not supported. Examples: 0 0 9 * * 2-6 weekdays at 09:00, 0 */15 * * * * every 15 minutes, 0 0 0 L * * at the end of each month. Put 0 in the second field. Not expressible: every second week, the n-th weekday of a month, holidays; 2-6 still runs on public holidays. Say so instead of approximating. An entry without exactly six fields, or one the scheduler itself could never load (an unparsable field such as MON, * * * * * *, a value out of range, ...), is refused - unless it is already stored exactly as sent, which an unrelated write of the profile must not start refusing. Omitted on create or sent empty, the agent runs every minute. A schedule made as an interval, time table or trigger reads back as an empty list and becomes a 1-minute interval on the next write of the profile.

string
dmz
boolean

true sends the request through the Lobster DMZ server, for targets only reachable from there.

Defaultfalse
encodeUrl
boolean

true percent-encodes the resolved URL, e.g. spaces in the path or query, before sending. The URL from VAR_SYS_HTTP_PAGING_URL is not encoded.

Defaultfalse
errorProfile
string

Name of a profile to start when a run of this agent fails, for example because the data cannot be fetched, or because no data is found and missingIsError is true. It is not started when the run is stopped. Leave it empty to start no profile. null keeps the stored value.

factoryName
string

Id (factory name) of the cluster node that runs the agent in a load-balanced installation; empty runs it on the active node. Leave it empty on a single-node installation. null keeps the stored value.

fileFilterClassName
string

Fully qualified name of a Java file filter class that decides which of the fetched files are processed; empty uses none. null keeps the stored value.

fileFilterConfigName
string

Name of the configuration file of the fileFilterClassName class. null keeps the stored value.

graphQlQuery
string

The GraphQL query sent when graphQlRequest is true; %NAME% constants, date masks such as @yyyyMMdd@ and @NAME@ variables are resolved on each run before the query is wrapped in the JSON body.

Example{ orders(first: 10) { id status } }
graphQlRequest
boolean

true sends a GraphQL request: graphQlQuery is posted as a JSON body with method POST, multipart parts are dropped, and soapData is ignored. Takes precedence over webServiceRequest.

Defaultfalse
httpContentType
string

Content type of the request body soapData. The profile's encoding is added as charset unless the value contains ;raw, which is removed before sending.

Default"text/xml"
Exampleapplication/json
httpSettings
object (core.HttpClientSettings)

The request to send: sslEnabled (https), host, port, uri and query are joined into one URL, httpMethod is the method (GETWITHCONTENT and DELETEWITHCONTENT send a body with GET and DELETE), headers are sent as request headers (a header named method overrides the method). In the URL, %NAME% constants, date masks such as @yyyyMMdd@ and @NAME@ variables are resolved on each run. Default method GET.

class
string

The type of this object, always core.HttpClientSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.HttpClientSettings" ]
headers
object

map Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

host
string

Host name or IP address of the server, without scheme, port or path. In a response unit @name@ placeholders (a target field or variable) are resolved at run time, and an empty host (or <serverurl>) is taken from the unit's channel.

Exampleapi.example.com
httpMethod
string

HTTP method of the request. Left out, a response unit uses POST and a time-driven agent GET. A header named method in headers overrides it at run time. SOAP and multipart requests need a method with a body (POST, PUT, PATCH, GETWITHCONTENT, DELETEWITHCONTENT): a response unit fails with any other, a time-driven agent switches to POST.

Valid values[ "GET", "GETWITHCONTENT", "POST", "PUT", "PATCH", "DELETE", "DELETEWITHCONTENT", "HEAD" ]
port
string

Port as text, so it can hold a placeholder such as @VAR_PORT@. Empty uses 443 with sslEnabled, else 80; a response unit with a channel takes the channel's port first. In a response unit a value that does not resolve to a number fails the unit at run time.

Example8443
query
string

Query string without the leading ?. In a response unit it is the URL query of a GET, HEAD or DELETE. With a body method it becomes the request body when the unit sends no content (contentType core.ResponseContentType_NONE) or when it contains <http-data> (replaced by the URL-encoded output data); otherwise it is the URL query and the content is the body. @name@ placeholders are URL-encoded unless noUrlEncoding or multiPart is set. A time-driven agent appends it to the URL after ?.

Exampleid=@orderId@&lang=en
sslEnabled
boolean

true (default) sends the request over HTTPS, false over plain HTTP. Also decides the port used when port is empty: 443 or 80.

uri
string

Path of the request; a missing leading / is added. In a response unit anything after ? is dropped (use query), @name@ placeholders are URL-encoded unless noUrlEncoding is set, <http-data> is replaced by the URL-encoded output data, and <serverurl> by the path of the channel's address.

Example/v1/orders/@orderId@
httpTimeOut
integer (int32)

Seconds to wait for the target's answer before the request fails; a value below 1 also means 90. Seconds, not milliseconds: 30000 waits more than 8 hours.

Default90
Example30
httpUser
string

User name for HTTP authentication at the target (Basic or Digest; a name with a backslash uses NTLM). The password is not settable through this API. Placeholders are resolved like in the URL. Empty: no user, unless a partner channel supplies one.

ExampleDOMAIN\user
ignoreHttpError
boolean

true processes a non-empty answer even when its status is not 2xx, e.g. to map an error document. false logs such an answer as an error and runs no job.

Defaultfalse
interval
integer (int32)

Minutes or seconds (intervalUseSeconds) between runs; applies only with scheduleType INTERVAL: absent on a read of another schedule type, and sent with one it is refused, so send both.

intervalUseSeconds
boolean

true makes interval seconds instead of minutes; like interval, only with scheduleType INTERVAL.

Defaultfalse
mailOnError
boolean

true sends the error mail when a run of the agent fails. null keeps the stored value.

Defaultfalse
maxPaging
integer (int32)

Maximum number of requests per scheduled run, the first one included. Limits paging. 0 or less sends no request at all.

Default1000
Example100
maxProcessTime
integer (int32)

Maximum run time of a job of the agent in minutes, 0 for no limit; see maxTimeAbsolute. null keeps the stored value.

Default0
maxTimeAbsolute
boolean

true reads the agent's maximum run time as an absolute time instead of a limit up to its next run. null keeps the stored value.

Defaulttrue
missingIsError
boolean

true fails the job when the agent finds no data to process. null keeps the stored value.

Defaultfalse
multiParts
Array of object (core.CronHttpMultiPart)

Elements named to match one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other element is unaffected.

object

One part of the multipart/form-data body a cron HTTP agent sends; one element of multiParts. As soon as one part is set, the request is sent as multipart (as POST unless PUT or PATCH is chosen) instead of soapData; parts are dropped for a SOAP request (webServiceRequest). A text part needs key, data and mimeType; a file part (file: true) also fileName.

class
string

The type of this object, always core.CronHttpMultiPart. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpMultiPart" ]
data
string

Content of the part. For a text part the value itself; for a file part either file: plus the path of a file on the Lobster server whose content is sent (the profile's client must be allowed to read it), or the literal file content. Placeholders are resolved on each run; empty after resolving fails the run.

Examplefile:/data/out/report.pdf
encoding
string

Character encoding of a text part or of literal file content; empty means UTF-8.

ExampleUTF-8
file
boolean

true sends the part as a file (with fileName), false as a plain form field.

Defaultfalse
fileName
string

File name sent for a file part; placeholders are resolved. For a file: part an empty name takes the file's own name. Not used for text parts. Send it for every file part: a missing one fails the run.

Examplereport.pdf
key
string

Form field name of the part. Placeholders (%NAME%, @NAME@, date masks) are resolved on each run; a name that resolves to empty fails the run.

Examplefile
mimeType
string

Content type of the part; for a file: part an empty value means application/octet-stream. Send it for every part: a missing one fails the run.

Exampleapplication/pdf
multipartBrowserMode
string

How the parts of a multipart request are encoded: STRICT (strict MIME headers), RFC6532 (UTF-8 in part headers, e.g. non-ASCII file names), COMPATIBLE (browser-like, minimal part headers) or SYSTEM (the instance's setting). Used by core.CronHttpAgentSettings when multipart parts are sent; other agent types store it unused. null keeps the stored value.

Valid values[ "STRICT", "RFC6532", "COMPATIBLE", "SYSTEM" ]
Default"RFC6532"
profileAfterRun
string

Name of a profile to start after a run of this agent. Leave it empty to start no profile. null keeps the stored value.

runInBackground
boolean

true hands each fetched answer to a separate background job, so the schedule does not wait for processing. Paging (selfTrigger) needs it false: the paging variable is only read from a job that ran in the foreground. A write that switches paging on and leaves this member as stored sets it to false; one that switches it on together with paging is refused.

Defaultfalse
scheduleType
string

How the agent decides when to run; decides which of interval/intervalUseSeconds, timeTables, triggerType/trigger*, cronSchedule applies. Absent on write keeps the stored schedule and every member below untouched, whatever it currently is - only a sent scheduleType (or a sent cronSchedule, which keeps its own legacy write behaviour) changes it. A schedule made in the editor as interval, time table or trigger is fully readable, unlike through cronSchedule alone.

Valid values[ "INTERVAL", "TIMETABLE", "TRIGGER", "CRONTAB", "CRONTAB_HTTP" ]
selfTrigger
boolean

true enables paging: after a job, if the mapping set the variable VAR_SYS_HTTP_PAGING_URL to a non-empty URL, the agent requests that URL next and runs the profile again, until the variable stays empty, the URL repeats (see continueHttpCronWithSameUrl) or maxPaging requests were made.

Defaultfalse
soapData
string

Request body sent with POST, PUT, PATCH, GETWITHCONTENT and DELETEWITHCONTENT (unless multipart parts are set), e.g. a JSON query or a SOAP envelope. %NAME% constants, date masks such as @yyyyMMdd@ and @NAME@ variables are resolved on each run.

timeTables
Array of object (core.CronTimeTableEntry)

Fixed run times; apply only with scheduleType TIMETABLE: absent on a read of another schedule type, and entries sent with one are refused. Sending the member replaces the whole list.

object

A fixed run time of a TIMETABLE cron agent. Omitting year (or sending it as 0 or less) makes it a weekly entry keyed on day as the day of week; sending a positive year makes it a one-off entry on that calendar date, day then the day of month.

class
string

The type of this object, always core.CronTimeTableEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.CronTimeTableEntry" ]
day
integer (int32)

Day the agent runs on: with no positive year, the day of week (1 Sunday to 7 Saturday); with a positive year, the day of month (1-31). Required.

hour
integer (int32)

Hour of day (0-23) the agent runs at. Required.

minute
integer (int32)

Minute of the hour (0-59) the agent runs at. Required.

month
integer (int32)

Calendar month (1-12) of a one-off entry. Only used together with a positive year; defaults to 1 when a one-off entry omits it.

year
integer (int32)

Calendar year of a one-off entry. Absent, 0 or negative (default) makes this a weekly entry instead, run every week on day as the day of week.

timeZone
string

Time zone the cronSchedule entries are read in, e.g. Europe/Berlin; empty uses the time zone of the server. null keeps the stored value.

triggerAuthenticationType
string

Only for triggerType HTTP: authentication scheme required of the caller when triggerHttpChannelIds names channels (OAUTH2 without channels acts as SYSTEM).

Valid values[ "BASIC", "DIGEST", "SYSTEM", "OAUTH2" ]
Default"SYSTEM"
triggerContext
string

Only for triggerType PROFILE: the message context another profile forwards under to reach this agent.

triggerHttpChannelIds
Array of integer

Only for triggerType HTTP: ids of the partner HTTP channels allowed to call the trigger (its remoteId as user plus the channel's password). Setting a different, non-empty list turns off a literal user/password credential pair; that pair is not settable through this API. Empty/absent requires no authentication unless such credentials are set. Get channel ids with GET /platform/api/partners/preview/{partnerId}/channels (type HTTP).

integer (int64)
triggerHttpContentType
string

Only for triggerType HTTP: content type of the trigger's HTTP response.

Default"text/html"
triggerHttpInvisibleForDmz
boolean

Only for triggerType HTTP: true refuses calls reaching the instance through the Lobster DMZ server.

Defaultfalse
triggerHttpParams
Array of object (core.CronHttpTriggerParam)

Only for triggerType HTTP: constant key/value pairs merged into the started job, like %name% constants. Sending the member replaces the whole list.

object

A key/value pair merged into every job a TRIGGER/CRONTAB_HTTP cron agent's HTTP call starts, resolvable in the mapping like a %name% constant. key is required.

class
string

The type of this object, always core.CronHttpTriggerParam. Required where the member it is sent in accepts several types.

Valid values[ "core.CronHttpTriggerParam" ]
key
string

The constant's name.

Min length1
value
string

The constant's value.

triggerHttpPathInfo
string

Only for triggerType HTTP: URL suffix the trigger is reachable under. Required for HTTP.

ExamplemyTrigger/v1
triggerHttpReturnData
boolean

Only for triggerType HTTP: whether the job's result is sent back as the HTTP response; only takes effect with triggerSynchron true.

Defaultfalse
triggerOnAnyServer
boolean

Only for triggerType PROFILE: whether a load-balancing cluster may run the triggered job on any node instead of only the one that received the forward.

Defaultfalse
triggerQueue
string

Only for triggerType PROFILE: the message queue another profile forwards under to reach this agent.

triggerSynchron
boolean

Only for triggerType HTTP: true waits for the job and answers the HTTP call with its result (see triggerHttpReturnData); false answers at once.

Defaultfalse
triggerType
string

What starts the agent; only meaningful with scheduleType TRIGGER or CRONTAB_HTTP.

Valid values[ "PROFILE", "HTTP", "FS" ]
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

validCertificateChain
boolean

true checks the target's TLS certificate chain against the trusted certificates and fails the request on an untrusted one; false accepts any server certificate.

Defaultfalse
webServiceRequest
boolean

true sends a SOAP request: soapData is posted (the method becomes POST unless PUT or PATCH is chosen), the SOAPAction header is derived from the envelope, multipart parts are dropped, and a non-2xx answer is checked for a SOAP fault.

Defaultfalse
core.IoTAgentSettings
object (core.IoTAgentSettings)
class
string

The type of this object, always core.IoTAgentSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.IoTAgentSettings" ]
agentType
string

Which of the two ways the agent connects to OPC UA.

Valid values[ "OPC_Function", "Data_Subscriber" ]
Default"OPC_Function"
channelIds
Array of integer

Server model (agentType OPC_Function): IoT partner channels assigned to the profile, as numeric channel ids from GET /platform/api/partners/preview/{partnerId}/channels (type IoT). Not validated: a wrong id is stored as is.

integer (int64)
ignoreErrorStatus
boolean

Subscription model: when true, values read for subscriptionReadValueEntries go into the job even if the server reports a status other than Good; when false such a value makes the notification fail and no job starts.

Defaulttrue
notifyInitial
boolean

Subscription model: when true, the first notification right after the subscription starts (OPC UA servers send the current values then) also starts a job; when false it is skipped.

Defaulttrue
sendGenericOKResponse
boolean

Server model: when true, the OPC UA method has no output arguments and the caller only gets a generic success; when false it returns the fields of the target node IOT_Result as output arguments, so the target structure must have that node.

Defaulttrue
subscriptionAlias
string

Subscription model: alias of the OPC UA client connection to the external server; it must exist on the instance.

subscriptionIDs
Array of string

Subscription model: OPC UA node ids to subscribe to; with subscriptionType DataChange a change of any of them starts a job. Must not be empty for either subscriptionType: without ids no subscription is created at all.

string
subscriptionInterval
integer (int64)

Subscription model: publishing and sampling interval of the subscription in milliseconds; values below 1 are raised to 1. With subscriptionType Direct it is the interval at which jobs start.

Default1000
Example1000
subscriptionReadValueEntries
Array of object (core.IoTReadValueEntry)

Subscription model: nodes read on every notification and written into the job's XML as a tree, each entry as an element named by its outputIdentifier holding the node's value, its children as child elements. Required for subscriptionType Direct.

object

One node of the tree in subscriptionReadValueEntries of an IoT subscription agent: an OPC UA node read on every notification and the XML element its value is written to in the job's input, with nested children as child elements.

class
string

The type of this object, always core.IoTReadValueEntry. Required where the member it is sent in accepts several types.

Valid values[ "core.IoTReadValueEntry" ]
children
Array of object (core.IoTReadValueEntry)

Nested entries, written as child elements of this entry's element.

name
string

Display name of the node; not written into the job's data.

nodeId
string

OPC UA node id to read. Without it the entry only produces a grouping element for its children.

Examplens=2;s=Machine1.Speed
outputIdentifier
string

Name of the XML element the node's value is written to; the element also carries the attributes nodeid, valdate, statuscode and statustext.

Default"ReadValue"
ExampleSpeed
subscriptionType
string

Subscription model: how the subscription reports values.

Valid values[ "Direct", "DataChange" ]
Default"Direct"
typeName
string

Name of the input agent type, derived from class and assigned by the server, e.g. WEBSERVICE for core.HttpAgentSettings, CRON_HTTP for core.CronHttpAgentSettings, UPLOAD for core.ManualUploadAgentSettings. A value sent on write is ignored; choose the type with class.

inputHandling
object (core.InputHandlingSettings)

How the raw input is received before parsing. null keeps every stored value.

class
string

The type of this object, always core.InputHandlingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.InputHandlingSettings" ]
archive
object (core.InputArchiveSettings)

The input arrives as an archive. null keeps every stored value.

class
string

The type of this object, always core.InputArchiveSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.InputArchiveSettings" ]
compressed
boolean

Whether the input data arrives already compressed as an archive of the given format.

Defaultfalse
encryption
string

Password protection of a ZIP/SEVEN_ZIP archive. The archive password itself is not settable through this API; a write keeps it. A stored password counts as configured whatever encryption says; see passwordConfigured.

Valid values[ "NONE", "PASSWORD", "AES_128", "AES_256" ]
Default"NONE"
format
string

Archive format of the input, used only while compressed is true.

Valid values[ "ZIP", "TAR", "TGZ", "JAR", "BZ2", "TAR_BZ2", "SEVEN_ZIP", "GZIP", "Z" ]
Default"ZIP"
passwordConfigured
boolean

Whether an archive password is stored. The password itself is never read or written through this API; a write keeps it.

encoding
string

Character encoding the input is read with in phase 2, a Java charset name (send UTF-8 for JSON). Must be a known charset name. An ISO-... name is read back in its short form (8859_1).

Default"8859_1"
ExampleUTF-8
skipAlreadyReceivedFiles
boolean

Skips a file already treated by Comm-Log; only meaningful for data received over a partner channel with Comm-Log active.

Defaultfalse
inputValidation
object (core.InputValidationSettings)

The checks the parser runs on the parsed source tree. null keeps every stored value.

class
string

The type of this object, always core.InputValidationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.InputValidationSettings" ]
checkMandatoryAndType
boolean

Whether the parser checks that every source field has a value where the structure marks it mandatory, and that the value parses as the field's type.

Defaultfalse
checkMinMax
boolean

Whether the parser checks a source field's value against its structure's minimum/maximum (for XML, length) constraints. Stored per document type: a value sent unchanged on a write that switches parsing.documentType leaves the new type's stored value alone. Not supported while an XML profile's parser is V4: switching it on there is rejected, and it is left out of the response.

Defaultfalse
edifact
object (core.EdifactValidationSettings)

Checks applied to EDIFACT input. null keeps every stored value.

class
string

The type of this object, always core.EdifactValidationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EdifactValidationSettings" ]
checkDeclaredCharset
boolean

Whether the character set the interchange declares is checked.

Defaultfalse
checkEnvelope
boolean

Whether the interchange envelope (UNB/UNZ) is checked.

Defaultfalse
validateUnoaUnob
boolean

Whether the data is validated against the UNOA/UNOB character set.

Defaultfalse
legacyTopLevelCheck
boolean

Whether only top-level source nodes that carry a value are checked, the pre-3.3.4 back-compatibility behaviour.

Defaultfalse
removeBlanks
boolean

Whether a fixed-length source field's padding is trimmed from its value before it is mapped.

Defaultfalse
semanticChecks
boolean

Whether the parser runs the source structure's semantic (cross-field) checks.

Defaultfalse
integrationClientId
string

The client (tenant) of the instance that owns the profile; assigned by the server from the signed-in session, a sent value is ignored.

integrationSettings
object (core.ProfileIntegrationSettings)

Phase 5: the integration unit in unit that serialises the target tree after the mapping, e.g. core.JsonCreationIU or core.XMLCreationIU. A response unit sends that output when its contentType is core.ResponseContentType_IU; leave the unit out when no response unit sends it.

class
string

The type of this object, always core.ProfileIntegrationSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.ProfileIntegrationSettings" ]
configFile
string

Path of a configuration file on the Lobster server the integration unit reads, for a unit type that needs one (most do not). null keeps the stored value; send "" to clear it.

encoding
string

Character encoding the integration unit's own data is read in, as a Java charset name. null keeps the stored value.

Default"8859_1"
ExampleUTF-8
postExecutionClass
string

Fully qualified Java class name of a post-executor that processes the integration unit's output file before the response units run; empty runs none. Must be one of the post-executors installed on the instance (listed in ./etc/admin/datawizard/post_executer.properties), unless it is already the stored value - a legally stored value that no longer resolves survives an unrelated edit. null keeps the stored value; send "" to switch it off. Runs only when an integration unit produced output. Its configuration file is not settable through this API. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=POST_EXECUTER.

Examplecom.ebd.hub.datawizard.postexec.ZUGFerdPDF
realmClient
string

Client id of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default"eai-wizard"
realmFunction
integer (int32)

Function number of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default1000
realmSubFunction
integer (int32)

Sub-function number of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default0
realmSupplier
string

Supplier id of the request the integration unit runs under; not shown in the profile editor. null keeps the stored value.

Default"eai-wizard"
runOnlyIfVariable
string

Name of a boolean target field or variable that gates whether the integration unit runs at all: empty always runs it, a non-empty name skips the unit for a record where that field or variable is not true. Ignored while unit is absent. null keeps the stored value; send "" to clear it.

unit
object (core.ProfileIU)

The integration unit that writes the target structure as a document: core.JsonCreationIU, core.XMLCreationIU, core.EdifactCreationIU, or core.GenericIntegrationUnit for any other class installed on the instance. Left out or null, the stored unit is kept, so a new profile then has none. Writing the same unit class as the one stored keeps its other parameters; writing a different class (or creating the unit) starts that class's parameters from its own defaults.

OneOf
core.GenericIntegrationUnit
object (core.GenericIntegrationUnit)
class
string

The type of this object, always core.GenericIntegrationUnit. Required where the member it is sent in accepts several types.

Valid values[ "core.GenericIntegrationUnit" ]
className
string

Fully qualified Java class name of the integration unit. Must be one of the classes installed on this instance, and not com.ebd.hub.datawizard.iu.NoActionUnit. The valid values are listed by GET /platform/api/profiles/preview/class-registry?kind=INTEGRATION_UNIT.

Examplecom.ebd.hub.datawizard.iu.PDFFormFiller
params
object

The unit's free-form configuration, parameter name to string value; a unit created without it reads back with every one at its default. A key must be one the class declares. Omitting a key keeps the value already stored for it (or the class's own default, for a unit that is new or whose className just changed). Sending a key with an explicit null value removes it, and the unit then runs with it unset, which is not necessarily its default. A parameter whose name marks it as a credential (e.g. Excel password to open file) is a secret: a read returns it encrypted, a write accepts that encrypted value unchanged or the cleartext as "PLAIN:<text>". Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

core.EdifactCreationIU
object (core.EdifactCreationIU)
class
string

The type of this object, always core.EdifactCreationIU. Required where the member it is sent in accepts several types.

Valid values[ "core.EdifactCreationIU" ]
autoCreateEmptyMandatorySegments
boolean

Whether a mandatory EDIFACT segment or element with no mapped value is written empty rather than left out. Writing it empty produces an interchange the receiver's own mapper typically cannot handle (e.g. an empty segment group, a wrong UNT count); the underlying unit's own default is true, but a new unit defaults to false here instead. Left out on an already stored unit, the stored value survives; a stored unit that never set it reads back false, as it runs.

params
object

The unit's remaining settings, key to string value, e.g. {"Delimiters": ":+.? '"}. Keys: Add UNA-segment to result, Add value to segment counter, Cut line after 80 chars, Delimiters, Length to cut line, One EDI-document per record, Replace umlauts, Replace umlauts with checking case, Return EDIFACT in uppercase completely, Trim type (both,left,right), Trim values, Write message in one line. A key left out keeps its stored value (or its default, on a unit that is new or whose class just changed); a key sent as null is removed, and the unit then runs with it unset, which is not necessarily its default. Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

core.XMLCreationIU
object (core.XMLCreationIU)
class
string

The type of this object, always core.XMLCreationIU. Required where the member it is sent in accepts several types.

Valid values[ "core.XMLCreationIU" ]
params
object

This unit's remaining configuration (everything but rootName), parameter name to string value, e.g. {"Without XML-Header": "true"} (the class is com.ebd.hub.datawizard.iu.XMLNoTemplateUnit); a unit created without it reads back with every one at its default. A key must be one this class declares. Omitting a key keeps the value already stored for it (or the class's own default, for a unit that is new or whose class just changed). Sending a key with an explicit null value removes it, and the unit then runs with it unset, which is not necessarily its default. Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

rootName
string

Name of the target node that becomes the root element of the document; everything below it is written. Always set it: changing it must name a node of the target structure; a legally stored value survives an edit that does not touch it, even where it no longer resolves at run time.

ExampleInvoice
core.JsonCreationIU
object (core.JsonCreationIU)
class
string

The type of this object, always core.JsonCreationIU. Required where the member it is sent in accepts several types.

Valid values[ "core.JsonCreationIU" ]
params
object

This unit's remaining configuration (everything but startAtNode), parameter name to string value, e.g. {"Pretty print": "true"} (the class is com.ebd.hub.datawizard.iu.ExtendedJsonCreationUnit); a unit created without it reads back with every one at its default. A key must be one this class declares. Omitting a key keeps the value already stored for it (or the class's own default, for a unit that is new or whose class just changed). Sending a key with an explicit null value removes it, and the unit then runs with it unset, which is not necessarily its default: an unset Write values type safe is false, its default true. Entries whose key matches one of authorization, proxy-authorization, cookie, set-cookie, password, passwd, pwd, passphrase, secret, credential, token, apikey, api.key, api-key hold a secret: a read returns those encrypted, and a write accepts either that encrypted form or the cleartext behind a "PLAIN:" prefix, and rejects anything else. Every other entry is unaffected.

startAtNode
string

Name of the target node the JSON starts at; the output is wrapped in that node's name (lines gives {"lines": [...]}). Empty or root writes the whole target structure, wrapped in the top node's name ({"PurchaseOrder": {...}}); give the start node xmlJsonMode TRANSPARENT to drop the wrapper. Changing it must name a node of the target structure; a legally stored value survives an edit that does not touch it, even where it no longer resolves at run time.

Examplelines
jobExecution
object (core.JobExecutionSettings)

How and how long a job runs. null keeps every stored value.

class
string

The type of this object, always core.JobExecutionSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.JobExecutionSettings" ]
limits
object (core.JobExecutionLimits)

Limits on the input a run accepts. null keeps every stored value.

class
string

The type of this object, always core.JobExecutionLimits. Required where the member it is sent in accepts several types.

Valid values[ "core.JobExecutionLimits" ]
maxInputSizeKb
integer (int32)

Maximum size in KB the input may have; 0 is unlimited. Must be at least 0.

Minimum0
Default0
maxRecords
integer (int32)

Maximum number of records a run processes. Must be at least 1; 2147483647 is unlimited.

Minimum1
Default2147483647
logPool
string

Alias of the log pool the profile's run history is written to; must name a log pool that exists on the instance when changed.

Default"STANDARD"
maxProcessingMinutes
integer (int32)

Minutes a run may take before a notification mail is sent; 0 is unlimited. Must be at least 0.

Minimum0
Default0
priority
string

Thread-pool priority the profile's jobs run at. Forced to NORMAL while singleInstance is true.

Valid values[ "VERY_LOW", "LOW", "NORMAL", "HIGH", "HIGHEST" ]
Default"NORMAL"
singleInstance
boolean

Strict serial processing: only one job of the profile runs at a time. Forces priority to NORMAL and responseSettings.asThread to false.

Defaultfalse
lastModified
string

When the profile was last stored, by the Lobster UI or this API; assigned by the server.

mappingBehaviour
object (core.MappingBehaviourSettings)

Phase 3 behaviour of the mapping (the trees themselves stay in mappingSettings). null keeps every stored value.

class
string

The type of this object, always core.MappingBehaviourSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingBehaviourSettings" ]
emptyValues
object (core.EmptyValueSettings)

How empty values are mapped. null keeps every stored value.

class
string

The type of this object, always core.EmptyValueSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.EmptyValueSettings" ]
emptyIsNull
boolean

Treats an empty field value as "not existing" rather than as an empty string.

Defaulttrue
skipEmptyFields
boolean

Skips an empty field to save memory instead of mapping it as empty.

Defaulttrue
skipUnreferencedSourceFields
boolean

Ignores an empty source field to save memory.

Defaulttrue
fillAfterTemplate
boolean

Runs the filler again after a template operation.

Defaultfalse
fixRecordOutput
object (core.FixRecordOutputSettings)

FixRecord output. null keeps every stored value.

class
string

The type of this object, always core.FixRecordOutputSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.FixRecordOutputSettings" ]
fillNumericWithZero
boolean

Fills a numeric FixRecord output field with 0 instead of blanks.

Defaultfalse
mapper
string

The data mapper the mapping runs with. A V4 XML parser forces this to EXTENDED regardless of what is sent.

Valid values[ "SIMPLE", "EXTENDED" ]
Default"EXTENDED"
memory
object (core.MappingMemorySettings)

How the mapping holds its data. null keeps every stored value.

class
string

The type of this object, always core.MappingMemorySettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingMemorySettings" ]
swapAtPercent
integer (int32)

Memory-use percentage at which swapToDisk kicks in, 0 to 95.

Minimum0
Maximum95
Default70
swapToDisk
boolean

Writes mapped data to disk temporarily instead of holding it all in memory.

Defaulttrue
newRecordOnSingleChangedValue
boolean

Starts a new output record as soon as a single one of the fields configured in the mapping changes, instead of requiring all of them to change; only meaningful for a CSV, FIX, EXCEL, BWA, DB or SAP_ALE parsing.documentType.

Defaultfalse
typeSafeVariables
boolean

Whether resetOnNewRecord on a core.Variable resets it to initialValue re-created from its declared type, instead of to an empty string regardless of type.

Defaulttrue
useMatchCodeValues
boolean

Uses matchcode values for functions in the mapping.

Defaultfalse
valuesMayBeBase64
boolean

Allows field values to be Base64-encoded.

Defaultfalse
mappingSettings
object (core.MappingSettings)

Phase 3, the mapping: the source structure (the parsed input), the target structure (what the profile builds) and the links between their fields. Function chains, conditions and database settings live on the target nodes and fields.

class
string

The type of this object, always core.MappingSettings. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingSettings" ]
constants
Array of object (core.ConstantDefinition)

The profile's constants: fixed name/value pairs a mapping function or filter can read like a variable, but which never change while the profile runs. A PATCH that sends this list replaces the whole set; a null list keeps the stored one.

object

One entry of mappingSettings.constants: a fixed name/value pair a mapping function or filter can read like a variable, but which a profile can never change while it runs (unlike a variable).

class
string

The type of this object, always core.ConstantDefinition. Required where the member it is sent in accepts several types.

Valid values[ "core.ConstantDefinition" ]
name
string

The constant's name, unique within the list; a second entry with the same name overwrites the first one when the list is parsed back. Must not contain a tab or a newline.

Min length1
value
string

The constant's value, read as plain text wherever a mapping names the constant. Must not contain a tab or a newline.

mappings
Array of object (core.MappingLink)

The field links: each core.MappingLink copies a source field's value into a target field, both named by field name. One source field may feed several target fields; a target field takes one link. "For every source X produce a target Y" is not a link but the target node's path. A PATCH replaces the whole list, so send the existing links along with the new ones. Must name fields present in their structure.

object

A field link, one element of mappingSettings.mappings: the target field named in destination takes the value of the source field named in source, e.g. {"class": "core.MappingLink", "source": "qty", "destination": "quantity"}. The value is read from the source node instance the enclosing target node currently iterates (see path on core.DestinationNode), and a link may cross levels, e.g. a field of a nested source node into a field of the parent target node. A function chain on the target field sees the linked value as its LINK parameters, so a field whose chain reads LINK needs a link too.

class
string

The type of this object, always core.MappingLink. Required where the member it is sent in accepts several types.

Valid values[ "core.MappingLink" ]
destination
string

Name of the target field that receives the value, exactly as in mappingSettings.targetStructure (case-sensitive). Must reference an existing target field. If the field also has functions, the last function's result becomes its value; a fixValue overrides both.

Examplequantity
source
string

Name of the source field whose value the link copies, exactly as in mappingSettings.sourceStructure (case-sensitive). Must reference an existing source field.

Exampleqty
xpath
string

The path the platform computes from the two trees on every write, relative to the source node being iterated, e.g. qty or supplier/name; read-only, a sent value is ignored.

sourceStructure
object (core.SourceDataStructure)

The tree the parser fills from the input: core.SourceNode and core.SourceField items. For JSON input the top-level JSON object is the top-level source node, and object keys match items by name. A PATCH that sends its nodes replaces the whole tree, so send it complete.

class
string

The type of this object, always core.SourceDataStructure. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceDataStructure" ]
namespaces
Array of object (core.NamespaceDefinition)

XML namespaces declared for this side of the tree: prefix is usable in core.DestinationNode.xmlNameSpace and matches an XML input's namespaced element names. A PATCH that sends this list replaces the whole set.

object

One XML namespace declared for a structure: prefix names it in core.DestinationNode.xmlNameSpace (prefix=uri or a bare prefix) and in an XML input's node/field names.

class
string

The type of this object, always core.NamespaceDefinition. Required where the member it is sent in accepts several types.

Valid values[ "core.NamespaceDefinition" ]
prefix
string

The namespace prefix; unique within the list, a second entry with the same prefix overwrites the first.

Min length1
Exampleord
uri
string

The namespace URI the prefix stands for.

Min length1
Exampleurn:example:order
nodes
Array of object (core.DataStructureItem)

The top-level items of the tree, in order; each nests its own items in children. Use one top-level node (minimum 1, maximum 1); a node named root, which the platform reserves, is stored as Root; a node name must be unique within the tree, after names are corrected (unless it is already stored that way and this write leaves names alone). A PATCH that sends this list replaces the whole tree.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
object (core.DestinationField)
class
string

The type of this object, always core.DestinationField. Required where the member it is sent in accepts several types.

Valid values[ "core.DestinationField" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

calculationField
boolean

Makes the field a helper that computes a value without writing it to the output, e.g. to fill a list, sum into a map or drop a record; its chain runs as usual.

Defaultfalse
children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
object (core.DestinationNode)
class
string

The type of this object, always core.DestinationNode. Required where the member it is sent in accepts several types.

Valid values[ "core.DestinationNode" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
core.SourceField
object (core.SourceField)
class
string

The type of this object, always core.SourceField. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceField" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

allowedValues
Array of string

The only values the field accepts, e.g. ["EUR", "USD"]: for JSON and XML input a value not in the list fails the job. * accepts anything, and a first entry regex:<pattern> makes the check a regular expression. Empty or left out, any value is accepted.

string
children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
core.SourceField
core.SourceNode
object (core.SourceNode)
class
string

The type of this object, always core.SourceNode. Required where the member it is sent in accepts several types.

Valid values[ "core.SourceNode" ]
aiDocumentation
string

Documentation text the AI assistant reads and writes for this item, describing what the item holds or how its value is built; it is not used when the profile runs.

children
Array of object (core.DataStructureItem)

The items below this one, in order: fields and child nodes of the same side (source items in the source structure, target items in the target structure). Only nodes have children; a field cannot have children. On the target side the order is the order of execution and of the output, so an item that fills a list or map must come before the item that reads it. A PATCH that sends this list replaces it.

object

One item of a source or target tree: a node (core.SourceNode, core.DestinationNode), which holds children, or a field (core.SourceField, core.DestinationField), which holds a value. Items are matched and linked by name, so keep names unique within a tree.

Send one of these types, named in class:

  • core.DestinationField: A field of the target structure: a leaf in the children of a core.DestinationNode.
  • core.DestinationNode: A node of the target structure: groups target fields and child nodes, and becomes an object or array (JSON) or an element (XML) in the output.
  • core.SourceField: A field of the source structure: one value of the input, a leaf in the children of a core.SourceNode.
  • core.SourceNode: A node of the source structure: a group of input fields and child nodes that the parser fills from the input.
OneOf
core.DestinationField
core.DestinationNode
core.SourceField
core.SourceNode
core.Node
object (core.Node)
OneOf
core.DestinationNode
core.SourceNode
core.AbstractField
object (core.AbstractField)
OneOf
core.DestinationField
core.SourceField
columnRowDelimiter
createNewRecord
dataProfile
dbAlias
description
fixRecordDelimiter
functions
inactive
iterationMode
lineBreak
localizationKey
matchCodes
maximum
minimum
name
newRecordAfter
note
optionalSettings
path
sourceObjectId
sqlTableOrProcedure
subNodesAreAlternative
xmlNameSpace
core.Node
core.AbstractField
columnRowDelimiter
dataEvent
dataType
defaultValue
description
iterationMode
length
localizationKey
mandatory
matchCodes
maximum
minimum
name
newRecordOnValueChange
note
showInList
sourceObjectId
template
xmlNameSpace
core.SourceNode
core.Node
core.AbstractField
createNewRecord
dbAlias
description
emptyTable
fieldDelimiter
functions
inactive
iterationMode
iterationNode
lineBreak
maximum
minimum
name
note
offsetVariable
onlyForSql
optimizePath
optionalPreSql
optionalSettings
optionalXpathFilter
path
relativePath
sortFieldName
sortingMode
sourceObjectId
sqlMode
sqlTableOrProcedure
stepSizeVariable
subNodesAreAlternative
transactionControl
xmlJsonMode
xmlNameSpace
core.SourceField
core.SourceNode
core.Node
core.AbstractField
dataType
description
fillFromLeft
fillWith
fixValue
functions
length
logFieldValue
mandatory
name
nameForLogging
note
skipEmptySqlValue
sourceObjectId
sqlAutoGenKey
sqlColumnName
sqlKey
template
useTemplate
xmlNameSpace
core.DestinationNode
core.SourceField
core.SourceNode
core.Node
core.AbstractField
template
treeName
targetStructure
variables
name
parsing
responseSettings
runtimeSettings
signature
skipMapping
splitting
tags
400

The request could not be understood. BAD_REQUEST for a body that does not decode — its message names the property at fault — and VALIDATION_FAILED with one details entry per offending parameter for a malformed request target (an unknown query parameter or sort key). Also BAD_REQUEST for a response unit naming a channel this client cannot reference.

{
  "error": {
    "code": "BAD_REQUEST",
    "message": "The request is invalid."
  }
}
Expand All
object

Standard Platform API error envelope: every failed request carries a single error object. Every response carries exactly one of data (success) or error (failure) at top level.

error
object (Error)

What went wrong: branch on its code, show its message, and read details for one entry per failed member.

code
string

Stable machine-readable UPPER_SNAKE error code for programmatic handling, e.g. PARTNER_NOT_FOUND, VALIDATION_FAILED or FORBIDDEN. New codes may be added over time; treat an unknown code according to the HTTP status class. The HTTP status itself is carried by the status line only, never duplicated here.

message
string

Human-readable, non-localized explanation. Branch on code, never on this text.

details
Array of object (ErrorDetail)

Individual failures within the request, e.g. one entry per violated field.

object

A single failure within the request.

code
string

Stable machine-readable UPPER_SNAKE code of this individual failure, e.g. FIELD_REQUIRED, FIELD_INVALID or VALUE_OUT_OF_RANGE.

message
string

Human-readable, non-localized explanation of this individual failure.

target
string

What this failure refers to, e.g. the violated field.

401

Authentication is required or the supplied credentials are invalid.

{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication is required to access this resource."
  }
}
Expand All
object

Standard Platform API error envelope: every failed request carries a single error object. Every response carries exactly one of data (success) or error (failure) at top level.

error
object (Error)

What went wrong: branch on its code, show its message, and read details for one entry per failed member.

code
string

Stable machine-readable UPPER_SNAKE error code for programmatic handling, e.g. PARTNER_NOT_FOUND, VALIDATION_FAILED or FORBIDDEN. New codes may be added over time; treat an unknown code according to the HTTP status class. The HTTP status itself is carried by the status line only, never duplicated here.

message
string

Human-readable, non-localized explanation. Branch on code, never on this text.

details
Array of object (ErrorDetail)

Individual failures within the request, e.g. one entry per violated field.

object

A single failure within the request.

code
string

Stable machine-readable UPPER_SNAKE code of this individual failure, e.g. FIELD_REQUIRED, FIELD_INVALID or VALUE_OUT_OF_RANGE.

message
string

Human-readable, non-localized explanation of this individual failure.

target
string

What this failure refers to, e.g. the violated field.

403

The caller lacks the permission for this operation on this resource (FORBIDDEN).

{
  "error": {
    "code": "FORBIDDEN",
    "message": "Access to this resource is denied."
  }
}
Expand All
object

Standard Platform API error envelope: every failed request carries a single error object. Every response carries exactly one of data (success) or error (failure) at top level.

error
object (Error)

What went wrong: branch on its code, show its message, and read details for one entry per failed member.

code
string

Stable machine-readable UPPER_SNAKE error code for programmatic handling, e.g. PARTNER_NOT_FOUND, VALIDATION_FAILED or FORBIDDEN. New codes may be added over time; treat an unknown code according to the HTTP status class. The HTTP status itself is carried by the status line only, never duplicated here.

message
string

Human-readable, non-localized explanation. Branch on code, never on this text.

details
Array of object (ErrorDetail)

Individual failures within the request, e.g. one entry per violated field.

object

A single failure within the request.

code
string

Stable machine-readable UPPER_SNAKE code of this individual failure, e.g. FIELD_REQUIRED, FIELD_INVALID or VALUE_OUT_OF_RANGE.

message
string

Human-readable, non-localized explanation of this individual failure.

target
string

What this failure refers to, e.g. the violated field.

404

The requested resource does not exist. The code is resource-specific, e.g. PARTNER_NOT_FOUND, PROFILE_NOT_FOUND or CHANNEL_NOT_FOUND.

{
  "error": {
    "code": "PARTNER_NOT_FOUND",
    "message": "Partner not found: 42"
  }
}
Expand All
object

Standard Platform API error envelope: every failed request carries a single error object. Every response carries exactly one of data (success) or error (failure) at top level.

error
object (Error)

What went wrong: branch on its code, show its message, and read details for one entry per failed member.

code
string

Stable machine-readable UPPER_SNAKE error code for programmatic handling, e.g. PARTNER_NOT_FOUND, VALIDATION_FAILED or FORBIDDEN. New codes may be added over time; treat an unknown code according to the HTTP status class. The HTTP status itself is carried by the status line only, never duplicated here.

message
string

Human-readable, non-localized explanation. Branch on code, never on this text.

details
Array of object (ErrorDetail)

Individual failures within the request, e.g. one entry per violated field.

object

A single failure within the request.

code
string

Stable machine-readable UPPER_SNAKE code of this individual failure, e.g. FIELD_REQUIRED, FIELD_INVALID or VALUE_OUT_OF_RANGE.

message
string

Human-readable, non-localized explanation of this individual failure.

target
string

What this failure refers to, e.g. the violated field.

409

The request collides with the current state of the resource: a name already taken by another record, a lastModified that no longer matches because the record changed since it was read, or a delete the record's state refuses (it is open in the Lobster UI, still referenced by other objects, or managed by the Transport Manager). A field-level collision carries one details entry naming it.

{
  "error": {
    "code": "CONFLICT",
    "message": "The request conflicts with the current state of the resource.",
    "details": [
      {
        "code": "FIELD_INVALID",
        "message": "A partner with the name 'ACME' already exists.",
        "target": "name"
      }
    ]
  }
}
Expand All
object

Standard Platform API error envelope: every failed request carries a single error object. Every response carries exactly one of data (success) or error (failure) at top level.

error
object (Error)

What went wrong: branch on its code, show its message, and read details for one entry per failed member.

code
string

Stable machine-readable UPPER_SNAKE error code for programmatic handling, e.g. PARTNER_NOT_FOUND, VALIDATION_FAILED or FORBIDDEN. New codes may be added over time; treat an unknown code according to the HTTP status class. The HTTP status itself is carried by the status line only, never duplicated here.

message
string

Human-readable, non-localized explanation. Branch on code, never on this text.

details
Array of object (ErrorDetail)

Individual failures within the request, e.g. one entry per violated field.

object

A single failure within the request.

code
string

Stable machine-readable UPPER_SNAKE code of this individual failure, e.g. FIELD_REQUIRED, FIELD_INVALID or VALUE_OUT_OF_RANGE.

message
string

Human-readable, non-localized explanation of this individual failure.

target
string

What this failure refers to, e.g. the violated field.

422

The body decoded but breaks a rule of the resource: a required member is missing, a value is not one of the accepted values or violates its pattern, length or range, a referenced id (partner, certificate, profile) does not exist, or two members contradict each other. One details entry per violation: FIELD_REQUIRED or FIELD_INVALID, with target naming the member path and message the rule, including the accepted values where there is a fixed set.

{
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Request validation failed",
    "details": [
      {
        "code": "FIELD_REQUIRED",
        "message": "Field 'name' must not be empty.",
        "target": "name"
      }
    ]
  }
}
Expand All
object

Standard Platform API error envelope: every failed request carries a single error object. Every response carries exactly one of data (success) or error (failure) at top level.

error
object (Error)

What went wrong: branch on its code, show its message, and read details for one entry per failed member.

code
string

Stable machine-readable UPPER_SNAKE error code for programmatic handling, e.g. PARTNER_NOT_FOUND, VALIDATION_FAILED or FORBIDDEN. New codes may be added over time; treat an unknown code according to the HTTP status class. The HTTP status itself is carried by the status line only, never duplicated here.

message
string

Human-readable, non-localized explanation. Branch on code, never on this text.

details
Array of object (ErrorDetail)

Individual failures within the request, e.g. one entry per violated field.

object

A single failure within the request.

code
string

Stable machine-readable UPPER_SNAKE code of this individual failure, e.g. FIELD_REQUIRED, FIELD_INVALID or VALUE_OUT_OF_RANGE.

message
string

Human-readable, non-localized explanation of this individual failure.

target
string

What this failure refers to, e.g. the violated field.

500

An unexpected server error occurred.

{
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "An unexpected error occurred."
  }
}
Expand All
object

Standard Platform API error envelope: every failed request carries a single error object. Every response carries exactly one of data (success) or error (failure) at top level.

error
object (Error)

What went wrong: branch on its code, show its message, and read details for one entry per failed member.

code
string

Stable machine-readable UPPER_SNAKE error code for programmatic handling, e.g. PARTNER_NOT_FOUND, VALIDATION_FAILED or FORBIDDEN. New codes may be added over time; treat an unknown code according to the HTTP status class. The HTTP status itself is carried by the status line only, never duplicated here.

message
string

Human-readable, non-localized explanation. Branch on code, never on this text.

details
Array of object (ErrorDetail)

Individual failures within the request, e.g. one entry per violated field.

object

A single failure within the request.

code
string

Stable machine-readable UPPER_SNAKE code of this individual failure, e.g. FIELD_REQUIRED, FIELD_INVALID or VALUE_OUT_OF_RANGE.

message
string

Human-readable, non-localized explanation of this individual failure.

target
string

What this failure refers to, e.g. the violated field.