SaaS Data Payloads for Single Sign-on Applications

Utilize the following SaaS Data payloads in order to load data into SSO managed applications.

  • Application Discovery - SSO Applications associated to the SSO instance.
  • SSO Application Roster - Use this task to load an application roster (users) into a SSO mananaged application.
  • SSO Application Usage - Use this task to load usage (events) into a SSO managed application.

Supported Task - Application Discovery

This task discovers applications enabled by this SSO provider and adds them to the Managed Applications within SaaS Management.

Task Name

Task Name Version
ApplicationDiscovery 1

Load Types Supported

full - only full reload is currently supported. Entries are upserted if they exist within the dataset. If an application is no longer seen within the set, it is set to deactivated.

JSON Description

JSON Field Name Display Name Required Description Type Example
ssoAppName Name Y Name of the application managed by the SSO provider String Acunote
ssoAppDisplayName DisplayName Y Display Name of the application managed by the SSO provider String me@here.com
ssoAppId First Name N One of the ways to identify the application. It is used in scenarios where the API would return two applications with the same name but are different. Alphanumeric abc123
appInstanceId Instance Id Y The instance id of the application. Alphanumeric abc123
ssoAppAdditional.createdAt Date Created N The date the application was created within the SSO provider ISO-8601/UTC 2020-03-05T15:56:53.889Z
appInstanceAdditional.hasGuestAccounts Guests Allowed? N If the application accepts guests, set to true, otherwise false boolean false

Task Example

This Application Discovery example demonstrates two entries. The addition of null fields is acceptable as seen in the second entry. The formatting is only for readability. Ensure the payload is valid JSON-L (newline-delimited JSON).

{
    "ssoAppName": "Slack - Business Communication for Teams",
    "ssoAppDisplayName": "Slack - Business Communication for Teams",
    "ssoAppId": "76d33699-9f0f-4eb7-bdd2-d0c75741d8f7",
    "ssoAppAdditional": {
         "createdAt": "2020-03-05T15:56:53.889Z"
    },
    "appInstanceId": "76d33699-9f0f-4eb7-bdd2-d0c75741d8f7",
    "appInstanceAdditional": {
         "hasGuestAccounts": true
    }
}
{
    "ssoAppName": "StratoKey (NetSuite)",
    "ssoAppDisplayName": "StratoKey (NetSuite)",
    "ssoAppId": "6e1a699a-c516-4f04-bbff-c247b8848c4c",
    "ssoAppAdditional": null,
    "appInstanceId": "6e1a699a-c516-4f04-bbff-c247b8848c4c",
    "appInstanceAdditional": null
}

Supported Task - SSO Application Roster

This task is the application roster for the instance of the SSO application.

Task Name

Task Name Version
SsoApplicationRoster 1

Load Types Supported

full - only full reload is currently supported. When loaded, the system compares the current dataset to the previously loaded dataset. All application users within the intersection remain the same or are updated, all people previously in the old dataset have their deactivatedAt date set to the time of the data load, and all new users are inserted into the data store.

JSON Description

JSON Field Name Display Name Required Description Type Example
uniqueId Unique Id Y User's unique ID that is usually the same as the user’s email Alphanumeric 94123. Or email: “me@here.com”
email Email Y User's email String me@here.com
firstName First Name Y User's First Name String Gavin
middleName Middle Name N User's Middle Name String John
lastName Last Name Y User's Last Name String Belson
skus SKUs N The Array of SKUs (or Licenses) assigned to a user. SKUs are used for license differentiation. Array of String "ACROBAT_PRO_DC", "ADOBE_ANALYTICS"
activatedAt Active Date Y Date the user's subscription was made active ISO-8601 / UTC 2012-04-23T18:25:43.511Z
deactivatedAt Deactivated Date N (See note) Date the user's subscription was made inactive ISO-8601 / UTC 2012-04-23T18:25:43.511Z
appInstanceId App Instance Id Y Identifier for the instance of the application Alphanumeric abc123

Task Example

Note: The formatting is only for readability. Ensure the payload is valid JSON-L (newline-delimited JSON).

{
    "uniqueId": "3470c8a8-475d-427d-92fb-1c831c975b5f",
    "email": "gwashington@helloworld.com",
    "firstName": "George",
    "lastName": "Washington",
    "middleName": "",
    "activatedAt": "2020-03-05T15:56:53.889Z",
    "deactivatedAt": "2020-03-15T15:56:53.889Z",
    "appInstanceId": "b2fbc513-67ce-4698-9662-cfdd64f413c3"
}
{
    "uniqueId": "006b223b-5531-41f2-9e01-420c5efe663b",
    "email": "alincoln@helloworld.com",
    "firstName": "Abraham",
    "lastName": "Lincoln",
    "middleName": "",
    "activatedAt": "2020-01-01T01:01:23.889Z",
    "appInstanceId": "b2fbc513-67ce-4698-9662-cfdd64f413c3"
}

Supported Task - SSO Application Usage (Events)

Application Usage represents all of the events within an SSO application. At a minimum, the data should represent every application access event.

Task Name

Task Name Version
SsoApplicationUsage 1

Load Types Supported

incremental - Only incremental load is supported. Each new set of usage events are considered unique.

JSON Description

JSON Field Name Display Name Required Description Type Example
uniqueId Unique Id Y User's unique ID that is usually the same as the user’s email Alphanumeric 94123. Or email: “me@here.com”
occurredAt Event Time Y Date and time when the event took place ISO-8601 / UTC 2012-04-23T18:25:43.511Z
notes Notes N Description of the event. This field is not required but recommended. String login
appInstanceId App Instance Id Y Identifier for the instance of the application Alphanumeric abc123

Task Example

Note: Newlines were added for readability. Each entry should reside on its own line. This example contains two entries.

{
    "uniqueId": "3470c8a8-475d-427d-92fb-1c831c975b5f",
    "occurredAt": "2020-03-15T15:56:53.889Z",
    "notes" : "login",
    "appInstanceId": "b2fbc513-67ce-4698-9662-cfdd64f413c3"
}
{
    "uniqueId": "006b223b-5531-41f2-9e01-420c5efe663b",
    "occurredAt": "2020-01-20T01:56:53.889Z",
    "notes" : "downloaded Legal Document",
    "appInstanceId": "5cc55141-c7a8-4c3a-a59a-783258f289cc"
}