Skip to main content

Individual Events

StartEvent

Initializes and configures the MasterController SDK. It should be invoked before calling most other events. Please check the status and state in the returned StartResultEvent to ensure the SDK has been successfully initialized.

Objective-C - KSMStartEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
localeNSString*The default locale of the Application. For example, this will affect messages returned to the Application. The encoding of this string is ASCII and it must be 2 bytes long.
versionKSMVersion*The app version.
appNameNSString*The app name. To distinguish the Applications, an Application must have a name. Applications with different names may have the same version numbers. Encoding of this string is UTF-8 and it has a maximum length of 32 bytes.
serverBackendNSString*This parameter is optional and should be used when migrating the server backend. Possible values: "maverick", "ssms". It determines the real server backend implementation used by the SDK. If set, the SDK will explicitly use it as a server backend, overriding what is provided in the MC config. The SDK remembers the chosen server backend and implicitly uses it on restart if the serverBackend is not explicitly specified in the RestartEvent.

Objective-C - KSMStartEventEx

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
ssmsAppConfigurationKSMSsmsAppConfiguration*Includes the SSMS app configuration (locale, app name and version).
mcConfigNSString*MC configuration in JSON format.
certificateChainNSData*SSL certificate chain in PEM format used to establish connections to SCP services.
configurationDataKSMConfigurationData*Additional configuration data, such as category, tag name, etc.
iamCertificateChainNSData*SSL certificate chain in PEM format used to establish connections to the IDP service.
smartScreenCertificateChainNSData*SSL certificate chain in PEM format used to establish connections to SmartScreen services.
serverBackendNSString*This parameter is optional and should be used when migrating the server backend. Possible values: "maverick", "ssms". It determines the real server backend implementation used by the SDK. If set, the SDK will explicitly use it as a server backend, overriding what is provided in the MC config. The SDK remembers the chosen server backend and implicitly uses it on restart if the serverBackend is not explicitly specified in the RestartEvent. The SDK remembers the chosen server backend and implicitly uses it on restart if the serverBackend is not explicitly specified in the RestartEvent.

Java - StartEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
localeStringThe default locale of the Application. For example, this will affect messages returned to the Application. The encoding of this string is ASCII and it must be 2 bytes long.
versionAppVersionThe app version.
appNameStringThe app name. To distinguish the Applications, an Application must have a name. Applications with different names may have the same version numbers. Encoding of this string is UTF-8 and it has a maximum length of 32 bytes.
mcConfigStringMC configuration in JSON format.
certificateChainStringSSL certificate chain in PEM format used to establish connections to SCP services
sdkConfigbyte[]SDK configuration in XML format (for SSMS enviroment) or in JSON format (for Maverick enviroment).
configurationDataConfigurationDataAdditional configuration data, such as category, tag name, etc.
iamCertificateChainStringSSL certificate chain in PEM format used to establish connections to the IDP service.
smartScreenCertificateChainStringSSL certificate chain in PEM format used to establish connections to SmartScreen services.
serverBackendStringThis parameter is optional and should be used when migrating the server backend. Possible values: "maverick", "ssms". It determines the real server backend implementation used by the SDK. If set, the SDK will explicitly use it as a server backend, overriding what is provided in the MC config. The SDK remembers the chosen server backend and implicitly uses it on restart if the serverBackend is not explicitly specified in the RestartEvent.

StartResultEvent

Provides the status and state of the SDK after its initialization by the StartEvent.

Objective-C - KSMStartResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.
sdkStateKSMSdkStateThe current state of SDK.
userListNSArray<KsUserIdentifier*>*The list of activated users.
supportedFeaturesNSUIntegerThe supported features bitmap. Refer to SupportedFeatures to see the meaning of each bit.

Java - StartResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.
sdkStateSdkStateThe current state of SDK.
userListList<UserIdentifier>The list of activated users.
supportedFeaturesBitSetThe supported features bitmap. Refer to SupportedFeatures to see the meaning of each bit.

RestartEvent

Reinitializes and reconfigures the MasterController SDK. Please check the status and state in the returned RestartResultEvent to ensure the SDK has been successfully restarted.

Objective-C - KSMRestartEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
localeNSString*The default locale of the Application. For example, this will affect messages returned to the Application. The encoding of this string is ASCII and it must be 2 bytes long.
versionKSMVersion*The app version.
appNameNSString*The app name. To distinguish the Applications, an Application must have a name. Applications with different names may have the same version numbers. Encoding of this string is UTF-8 and it has a maximum length of 32 bytes.
serverBackendNSString*This parameter is optional and should be used when migrating the server backend. Possible values: "maverick", "ssms". It determines the real server backend implementation used by the SDK. If set, the SDK will explicitly use it as a server backend, overriding what is provided in the MC config. The SDK remembers the chosen server backend and implicitly uses it on the subsequent restart if the serverBackend is not explicitly specified in the RestartEvent.

Objective-C - KSMRestartEventEx

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
ssmsAppConfigurationKSMSsmsAppConfiguration*Includes the SSMS app configuration (locale, app name and version).
mcConfigNSString*MC configuration in JSON format.
certificateChainNSData*SSL certificate chain in PEM format used to establish connections to SCP services.
iamCertificateChainNSData*SSL certificate chain in PEM format used to establish connections to the IDP service.
smartScreenCertificateChainNSData*SSL certificate chain in PEM format used to establish connections to SmartScreen services.
serverBackendNSString*This parameter is optional and should be used when migrating the server backend. Possible values: "maverick", "ssms". It determines the real server backend implementation used by the SDK. If set, the SDK will explicitly use it as a server backend, overriding what is provided in the MC config. The SDK remembers the chosen server backend and implicitly uses it on the subsequent restart if the serverBackend is not explicitly specified in the RestartEvent.

Java - RestartEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
localeStringThe default locale of the Application. For example, this will affect messages returned to the Application. The encoding of this string is ASCII and it must be 2 bytes long.
versionAppVersionThe app version.
appNameStringThe app name. To distinguish the Applications, an Application must have a name. Applications with different names may have the same version numbers. Encoding of this string is UTF-8 and it has a maximum length of 32 bytes.
mcConfigStringMC configuration in JSON format.
certificateChainStringSSL certificate chain in PEM format used to establish connections to SCP services
sdkConfigbyte[]SDK configuration in XML format (for SSMS enviroment) or in JSON format (for Maverick enviroment).
iamCertificateChainStringSSL certificate chain in PEM format used to establish connections to the IDP service.
smartScreenCertificateChainStringSSL certificate chain in PEM format used to establish connections to SmartScreen services.
serverBackendStringThis parameter is optional and should be used when migrating the server backend. Possible values: "maverick", "ssms". It determines the real server backend implementation used by the SDK. If set, the SDK will explicitly use it as a server backend, overriding what is provided in the MC config. The SDK remembers the chosen server backend and implicitly uses it on the subsequent restart if the serverBackend is not explicitly specified in the RestartEvent.

RestartResultEvent

Provides the status and state of the SDK after its initialization by the RestartEvent.

Objective-C - KSMRestartResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.
sdkStateKSMSdkStateThe current state of SDK.
userListNSArray<KsUserIdentifier*>*The list of activated users.
supportedFeaturesNSUIntegerThe supported features bitmap. Refer to SupportedFeatures to see the meaning of each bit.

Java - RestartResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.
sdkStateSdkStateThe current state of SDK.
userListList<UserIdentifier>The list of activated users.
supportedFeaturesBitSetThe supported features bitmap. Refer to SupportedFeatures to see the meaning of each bit.

GetSsmsUserListEvent

Returns the list of activated SSMS users. This event is needed for SSMS to Maverick migration use cases. Can be used only in the Maverick server backend environment. Can be invoked right after the StartEvent. Please check the returned GetSsmsUserListResultEvent to get the SSMS users.

Objective-C - KSMGetSsmsUserListEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
userCredentialPathNSString*The path to the user credentials required to read the locally stored SSMS user list. This parameter is optional and should be specified if the path was previously customized.

Java - GetSsmsUserListEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
userCredentialPathStringThe path to the user credentials required to read the locally stored SSMS user list. This parameter is optional and should be specified if the path was previously customized.

GetSsmsUserListResultEvent

Provides the result of the GetSsmsUserListEvent.

Objective-C - KSMGetSsmsUserListResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.
userListNSArray<KsUserIdentifier*>*The SSMS user list.

Java - GetSsmsUserListResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.
userListList<UserIdentifier>The SSMS user list.

EnrollAnonymousUserEvent

Initiates the enrollment process for an anonymous user. In anonymous enrollment, the IDP doesn't know any details about the user (such as a name or an email address), but it will be able to recognize and authenticate the user in subsequent flows. Can be used only in the Maverick server backend environment. Can be invoked right after the StartEvent. Please check the returned StatusResultEvent to find out the enrollment status.

Objective-C - KSMEnrollAnonymousUserEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdNSString*The tenant id. The realm in terms of the IdP.
authenticationModeKSMAuthenticationModeThe type of authentication used to protect and authenticate user credentials.
clientIdNSString*The IdP client id used in token requests.

Java - EnrollAnonymousUserEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdStringThe tenant id. The realm in terms of the IdP.
authenticationModeAuthenticationModeThe type of authentication used to protect and authenticate user credentials.
clientIdStringThe IdP client id used in token requests.

EnableAuthenticationModeEvent

User can change authentication mode. Obtains a 1FA (offline token, signed JWT) using the access token from cache. Can be used only in the Maverick server backend environment. Can be invoked after the successful login by the SetAuthorisationCodeEvent or OfflineLogin. Please check the returned StatusResultEvent to find out the enable authentication mode operation status.

Objective-C - EnableAuthenticationModeEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
authenticationModeAuthenticationModeThe type of authentication used to protect and authenticate user credentials.
clientIdStringThe IdP client id used in token requests.

Java - EnableAuthenticationModeEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
authenticationModeAuthenticationModeThe type of authentication used to protect and authenticate user credentials.
clientIdStringThe IdP client id used in token requests.

IdpLoginRequiredEvent

Signals the App that authentication via IdP is required for the specified user to perform step-up to a stronger authentication method required, for example, for a transaction. Can be sent only in the Maverick server backend environment.

Objective-C - KSMIdpLoginRequiredEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
userIdentifierKsUserIdentifier*The user to step-up.

Java - IdpLoginRequiredEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
userIdentifierUserIdentifierThe user to step-up.

OfflineLoginEvent

Logs in the user using its access token. If the access token is expired, tries to refresh it using refresh token or the 1FA (offline token, signed JWT) obtained during the SetAuthorisationCodeEvent. Can be used only in the Maverick server backend environment. Can be invoked for activated users right after the StartEvent. Please check the returned OfflineLoginResultEvent to find out the log-in status.

Objective-C - KSMOfflineLoginEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
userIdentifierKsUserIdentifier*The user identifier for logging in. This parameter is optional. If not passed, the identifier of last succesfully logged-in user is used.

Java - OfflineLoginEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
userIdentifierUserIdentifierThe user identifier for logging in. This parameter is optional. If not passed, the identifier of last succesfully logged-in user is used.

OfflineLoginResultEvent

Provides the result of the OfflineLoginEvent.

Objective-C - KSMOfflineLoginResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.

Java - OfflineLoginResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.

GetAstClientDataEvent

Provides the AST client data required to get an authorization code that can then be exchanged for an access token during the SetAuthorisationCodeEvent. Can be used only in the Maverick server backend environment. Can be invoked right after the StartEvent. Please check the returned GetAstClientDataResultEvent to get all data required for the user identification.

Objective-C - KSMGetAstClientDataEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdNSString*The tenant id. The realm in terms of the IdP.

Java - GetAstClientDataEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdStringThe tenant id. The realm in terms of the IdP.

GetAstClientDataResultEvent

Provides the result of the GetAstClientDataEvent.

Objective-C - KSMGetAstClientDataResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.
clientDataNSString*The AST client data. It's encrypted and required for the user identification.
astClientIdNSString*The AST client id. It's zeros for a new user because the AST client ID is created on the server side during user registration.
codeChallangeNSString*The challenge derived from the code verifier that is sent in the authorization request, to be verified against later. Refer to the Proof Key for Code Exchange by OAuth Public Clients RFC for details.
codeChallangeMethodNSString*The method that was used to derive code challenge.

Java - GetAstClientDataResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.
clientDataStringThe AST client data. It's encrypted and required for the user identification.
astClientIdStringThe AST client id. It's zeros for a new user because the AST client ID is created on the server side during user registration.
codeChallengeStringThe challenge derived from the code verifier that is sent in the authorization request, to be verified against later. Refer to the Proof Key for Code Exchange by OAuth Public Clients RFC for details.
codeChallengeMethodStringThe method that was used to derive code challenge.

SetAuthorisationCodeEvent

Completes user activation and logs the user in. Uses the given authorisation code to exchange for access/refresh tokens. Obtains a 1FA (offline token, signed JWT) using the access token that can be lately used for subsequent logins during OfflineLoginEvent. Can be used only in the Maverick server backend environment. Can be invoked right after the StartEvent. Please check the returned SetAuthorisationCodeResultEvent to find out the log-in status.

Objective-C - KSMSetAuthorisationCodeEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdNSString*The tenant id. The realm in terms of the IdP.
authenticationModeKSMAuthenticationModeThe type of authentication used to protect and authenticate user credentials.
authorisationCodeNSString*The authorization code that is exchanged for access/refresh tokens by the IdP.
clientIdNSString*The IdP client id used in token requests.

Java - SetAuthorisationCodeEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdStringThe tenant id. The realm in terms of the IdP.
authenticationModeAuthenticationModeThe type of authentication used to protect and authenticate user credentials.
authorisationCodeStringThe authorization code that is exchanged for access/refresh tokens by the IdP.
clientIdStringThe IdP client id used in token requests.

SetAuthorisationCodeResultEvent

Provides the result of the SetAuthorisationCodeEvent.

Objective-C - KSMSetAuthorisationCodeResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.

Java - SetAuthorisationCodeResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.

ExchangeIamTokenEvent

Triggers the exchange of the user's access token for an IAM token with a specified audience. Can be used only in the Maverick server backend environment. Can be invoked after the successful login by the SetAuthorisationCodeEvent or OfflineLogin. Please check the returned ExchangeIamTokenResultEvent to get the token. Please make sure that the exchanged token will not contain the 'ast-client' role given the audience, if it does the result event will fail with error code 800000287.

Should work against both idp4 and idp5. Against idp4 the audience parameter will be used as client id as it was before. Against idp5 god tokens client id will be used as client id.

Objective-C - KSMExchangeIamTokenEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
audienceNSString*The intended audience (client) for the new token. Must be different from the client id used in SetAuthorisationCodeEvent.
forceUpdateBOOLThis paramater is optional. By default, it's false. Set true to force the user's access token to be updated, even if it is still valid.

Java - ExchangeIamTokenEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
audienceStringThe intended audience (client) for the new token. Must be different from the client id used in SetAuthorisationCodeEvent.
forceUpdatebooleanThis paramater is optional. By default, it's false. Set true to force the user's access token to be updated, even if it is still valid.

ExchangeIamTokenResultEvent

Provides the result of the ExchangeIamTokenEvent.

Objective-C - KSMExchangeIamTokenResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.
tokenNSString*The newly acquired token for the specified audience.

Java - ExchangeIamTokenResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.
tokenStringThe newly acquired token for the specified audience.

GetInformationEvent

Returns various information with its result event GetInformationResultEvent. Can be invoked right after the StartEvent of each platform had been successfully invoked but depending on the state of the SDK the information returned in its result event may vary please see parameters of the result event for more details.

Objective-C - KSMGetInformationEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.

Java - GetInformationEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.

GetInformationResultEvent

Provides various information asked from the SDK by the GetInformationEvent.

Objective-C - KSMGetInformationResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
serialNumberNSString*The serial number of the users certificate. If astServerBackend parameter inside the MC Config is set to "ssms" this parameter can only be provided after an activation or after a Login. In case it is set to "maverick" this parameter will always be empty
sdkVersionNSString*The version of the SDK. This version is also sent to the server and hence helps to identify the SDK built.
ssmsAppConfigurationKSMSsmsAppConfiguration*Includes the SSMS app configuration (locale, app name and version) that was passed to the SDK during the StartEvent or RestartEvent
appConfigNSData*The app config that had been packaged into the binary. If no app config had been packaged this parameter will be empty
ecoConfigurationKSMEcoConfiguration*Includes the eco service urls (token issuer service, address book server and message router). If partially or none have been configured in the MC Config this corresponding parameter will be empty
loggedInUserKsUserIdentifier*The user identifier of the currently logged in user. If astServerBackend parameter inside the MC Config is set to "ssms" this parameter can only be provided after LoginEvent or OfflineLoginEvent had been invoked successfully. In case it is set to "maverick" this parameter can only be provided after SetAuthorisationCodeEvent or OfflineLoginEvent had been invoked successfully
iamConfigurationDataKsIamConfigurationData*The IAM configuration data that had been set inside the MC Config.
encryptionCertificateNSData*If the useScp parameter is set to "true" inside the MC Config this parameter returns the used encryption certificate of the user
signerCertificateNSData*If the useScp parameter is set to "true" inside the MC Config this parameter returns the used signing certificate of the user for the given device
authenticationCertificateNSData*If the useScp parameter is set to "true" inside the MC Config this parameter returns the used authentication certificate of the user for the given device

Java - GetInformationResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
sdkVersionStringThe version of the SDK. This version is also sent to the server and hence helps to identify the SDK built.
serialNumberStringThe serial number of the users certificate. If astServerBackend parameter inside the MC Config is set to "ssms" this parameter can only be provided after an activation or after a Login. In case it is set to "maverick" this parameter will always be empty
localeStringThe local that was passed to the SDK during the StartEvent or RestartEvent
versionAppVersionThe app version that was passed to the SDK during the StartEvent or RestartEvent
appNameStringThe app name that was passed to the SDK during the StartEvent or RestartEvent
appConfigStringThe app config that had been packaged into the binary. If no app config had been packaged this parameter will be empty
tokenIssuerServiceUrlStringThe url of the token issuer service. If none has been configured in the MC Config this parameter will be empty
addressBookServerUrlStringThe url of the address book server. If none has been configured in the MC Config this parameter will be empty
messageRouterUrlStringThe url of the message router. If none has been configured in the MC Config this parameter will be empty
loggedInUserIdentifierUserIdentifierThe user identifier of the currently logged in user. If astServerBackend parameter inside the MC Config is set to "ssms" this parameter can only be provided after LoginEvent or OfflineLoginEvent had been invoked successfully. In case it is set to "maverick" this parameter can only be provided after SetAuthorisationCodeEvent or OfflineLoginEvent had been invoked successfully
iamConfigurationDataIamConfigurationDataThe IAM configuration data that had been set inside the MC Config.
encryptionCertificatebyte[]If the useScp parameter is set to "true" inside the MC Config this parameter returns the used encryption certificate of the user
signerCertificatebyte[]If the useScp parameter is set to "true" inside the MC Config this parameter returns the used signing certificate of the user for the given device
authenticationCertificatebyte[]If the useScp parameter is set to "true" inside the MC Config this parameter returns the used authentication certificate of the user for the given device

InvalidStateEvent

A special event that can be set as a result to any event sent by UI to the SDK. Can be used by the SDK when the event is question cannot be handled in the current state of SDK. For example ExchangeIamTokenEvent can be invoked after successful SetAuthorisationCodeEvent or OfflineLogin. Invoking the ExchangeIamTokenEvent before the mentioned events will result in invalid state event being set a result.

Objective-C - KSMInvalidStateEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that is set by the sdk which will contain the trace context of the event that caused the invalid state
errorMessageNSString*A human readable error message that will contain information about invalid state

Java - InvalidStateEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that is set by the sdk which will contain the trace context of the event that caused the invalid state
errorMessageStringA human readable error message that will contain information about invalid state

StatusResultEvent

General-purpose result event to convey the status outcome of an operation or request.

Objective-C - KSMStatusResultEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredBOOLSet to true if an error occurred.
errorCodelongThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdlongThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionNSString*The description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusKSMEventStatusTypeThe status of the operation.

Java - StatusResultEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
hasErrorOccurredbooleanSet to true if an error occurred.
errorCodeintThe error code of the error if any occurred. If hasErrorOccurred is false, this parameter is zero.
reportIdintThe SSMS report id related to an error if any occured. If hasErrorOccurred is false, this parameter is zero.
errorDescriptionStringThe description of the error if any occurred. If hasErrorOccurred is false, this parameter is empty.
statusStatusTypeThe status of the operation.

SwitchWorkspaceEvent

Switches the workspace (tenant) of the logged-in user. This allows for seamless access to the resources and functionalities unique to the workspace using a tenant-specific token. At the moment, this tenant-specific token is only used to access SmartScreen resources.
SwitchWorkspaceEvent can be used only in the Maverick server backend environment and can be invoked after the successful login by the SetAuthorisationCodeEvent or OfflineLogin. After restarting, MC switches back to the master/main workspace. Please check the returned StatusResultEvent to find out the switching status.

Objective-C - KSMSwitchWorkspaceEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdNSString*The target tenant id. The realm in terms of the IdP.

Java - SwitchWorkspaceEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
tenantIdStringThe target tenant id. The realm in terms of the IdP.

TriggerBannerEvent

A notification event that is sent by the SDK to the UI which contains the information about either a transaction or a display message. Can be sent both on maverick and ssms backed SDKs. Can be sent after the successful login by the SetAuthorisationCodeEvent or OfflineLogin. If the BannerType is Transaction UI can invoke StartTransactionEvent or if the BannerType is DisplayMessage UI can invoke StartDisplayMessageEvent in order for UI to start processing transaction or display message.

Objective-C - KSMTriggerBannerEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that is set by the sdk which should be used for further transaction related SDK interations.
bannerTypeBannerTypeAn enum determining whether there is a transaction or a display message
payloadNSString*A constant string that will be set to 'Display Message Received' or 'Transaction Received' depending on the BannerType
timerintTransaction timeout in seconds
executeBOOLNot used. Always set to false

Java - TriggerBannerEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that is set by the sdk which should be used for further transaction related SDK interations.
bannerTypeBannerTypeAn enum determining whether there is a transaction or a display message
payloadStringA constant string that will be set to 'Display Message Received' or 'Transaction Received' depending on the BannerType
timerintTransaction timeout in seconds
executebooleanNot used. Always set to false

StartTransactionEvent

An event that is sent by the UI to the SDK which starts the transaction processing. Can be invoked both on maverick and ssms backed SDKs. Can be sent after the TriggerBannerEvent only if the BannerType is Transaction.

After the start transaction event, UI is expected to only handle the transaction, using events that are not related to transaction will result in InvalidStateEvent with the exception of property events on maverick backed SDKs.

The next step is that the SDK will send the transaction information using the DisplayConfirmationRequestEvent where UI can use the information to process the transaction.

Objective-C - KSMStartTransactionEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.

Java - StartTransactionEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.

StartDisplayMessageEvent

An event that is sent by the UI to the SDK which starts the display message processing. Can be invoked both on maverick and ssms backed environments. Can be sent after the TriggerBannerEvent only if the BannerType is DisplayMessage.

Objective-C - KSMStartDisplayMessageEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.

Java - StartDisplayMessageEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.

DisplayMessageEvent

A notification event that is sent by the SDK to the UI which contains the display message body and type. Can be sent both on maverick and ssms backed SDKs. Will be sent after StartDisplayMessageEvent.

Objective-C - KSMDisplayMessageEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that is set by the sdk which should be used for further transaction related SDK interations.
messageInformationNSString*The display message
messageType[KSMMessageType]Type of dialog that should be shown

Java - DisplayMessageEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that is set by the sdk which should be used for further transaction related SDK interations.
messageInformationStringThe display message
messageType[MessageType]Type of dialog that should be shown

DisplayConfirmationRequestEvent

A notification event that is sent by the SDK to the UI which contains the transaction body and transaction timeout in seconds. Can be sent both on maverick and ssms backed SDKs. Will be sent after StartTransactionEvent.

After the transaction is processed the UI is expected to invoke the DisplayConfirmationEvent by passing the ConfirmationType and transactionInformation

Objective-C - KSMDisplayConfirmationRequestEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that is set by the sdk which should be used for further transaction related SDK interations.
transactionInformationNSString*A constant string that will be set to 'Display Message Received' or 'Transaction Received' depending on the BannerType
timerValueintTransaction timeout in seconds

Java - DisplayConfirmationRequestEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that is set by the sdk which should be used for further transaction related SDK interations.
transactionInformationStringA constant string that will be set to 'Display Message Received' or 'Transaction Received' depending on the BannerType
timerValueintTransaction timeout in seconds

DisplayConfirmationEvent

An event that is sent by the UI to the SDK which contains the verdict for a transaction. Can be invoked both on maverick and ssms backed SDKs. Can be sent after the DisplayConfirmationRequestEvent.

After the display confirmation event is processed by the SDK, the TransactionEndEvent will be sent to UI.

Objective-C - KSMDisplayConfirmationEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
confirmationTypeKSMConfirmationTypeThe verdict, whether the transaction is accepted, cancelled or timedout
transactionInformationNSString*transactionInformation parameter from the DisplayConfirmationRequestEvent

Java - DisplayConfirmationEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that should be used for all interactions inside the SDK related to the event. If nothing is passed here the SDK will create a context by itself and uses it explicitly for this event.
confirmationTypeConfirmationTypeThe verdict, whether the transaction is accepted, cancelled or timedout
displayDataStringtransactionInformation parameter from the DisplayConfirmationRequestEvent

TransactionEndEvent

A notification event that is sent by the SDK to the UI indicating that transaction processing is ended. Can be sent both on maverick and ssms backed SDKs. Can be sent after DisplayConfirmationEvent or can be sent after StartTransactionEvent if the transaction is cancelled or timedout on server side.

Objective-C - KSMTransactionEndEvent

Parameters

NameTypeDescription
traceContextTraceContext*The trace context that is set by the sdk which should be used for further transaction related SDK interations.
statusKSMEventStatusTypeThe status of the operation. Can have the statuses KSMOK, KSMUSER_CANCEL, KSMUSER_CONFIRMATION_TIMEOUT, KSMSERVER_CANCEL

Java - TransactionEndEvent

Parameters

NameTypeDescription
traceContextTraceContextThe trace context that is set by the sdk which should be used for further transaction related SDK interations.
statusStatusTypeThe status of the operation. Can have the statuses OK, USER_CANCEL, USER_CONFIRMATION_TIMEOUT, SERVER_CANCEL