SaaS Import Job API

SaaS Management offers an Import Jobs API that helps you:

  • Add a SaaS application not currently supported by SaaS Management through a direct integration for rightsizing
  • Add and view Single Sign-On (SSO) data for rightsizing and optimization from any SSO provider

The following topics explain how to load SaaS data via the Import Jobs API.

Quick Overview of Import Jobs

If you need help obtaining credentials, see the (Authentication section).

The workflow to create an import job properly is the following:

  1. Add a Managed Application
  2. Create a SaaSData object.
  3. Upload a file to the SaaSData object via a PATCH request.
  4. Create an ImportJob with the previously created SaaSData object.

The import job will automatically begin once the job is created.

To view the OpenAPI (Swagger) documentation, refer to the (Import Job API).

Import Jobs API Workflow

The workflow diagram and steps below explain at a high level how SaaS data is loaded into SaaS Management via the Import Jobs API.

  1. Create a service account via one-time API calls to api.flexera.com or api.flexera.eu based on the geographic region of your org (For details, see API Endpoints). You will enter these credentials into your custom application or middleware.
  2. Create a managed application in SaaS Management to load SaaS data into.
  3. Create a custom middleware or set up a custom middleware via a services agreement. The custom middleware then retrieves the SaaS data from a given source, typically an API.
  4. The custom middleware compresses the retrieved data, uploads the compressed file to api.flexera.com or api.flexera.eu, and creates the import job based on the files.
    • The file is upload to an internal storage location where it is kept for 30 days.
  5. The creation of an import job automatically submits the job into the processing pipeline.
  6. The import processing pipeline then reads from the internal storage to retrieve the raw SaaS data.
  7. The processing pipeline decompresses, validates, and normalizes the data for continued processing.
    • The SaaS Management analytics system receives the normalized message and performs the requisite analytics tasks.
  8. The results are stored in the processed data store where they are retrieved from by SaaS Management.

Import Job Data Flow

Model Relationships

The table below explains the models used for the Import Jobs API.

Model Relationships

Model Name Description
Application An application by a software publisher or vendor
Managed Application A managed instance of an application
App User Processed application user data
App Usage Processed application usage data
Import Jobs A container representing the process of importing of SaaS data
SaaS Data The raw compressed data files

The diagram below shows how each of the models relate to each other. The data processing pipeline that ingests the import jobs creates the app usage, app user, and all other data within the SaaS data objects. The processed data is then associated directly with the managed application and not to the import job or the SaaS data object they came from.

Import Job Models

Required Flexera One Roles and Privileges

The following are the roles and privileges you can add to service accounts or user accounts to utilize the import job API.

Service Account Roles

It is recommended to assign the following role to your service account that will perform the SaaS data import. Creating a service account role minimizes credential maintenance. Assigning this role limits the service account to perform only the intended task. The Import Jobs API can also be accessed via user credentials as well. If you are developing this integration, your user must also have one of the following User Account Roles. For more information on assigning roles, see Adding New Users or Editing User Groups to Apply Roles at Organization or Account Level.

Role Name Description
Manage SaaS Import APIs Read and edit access to create and manage SaaS import jobs via API. Administrators should assign SaaS import job service accounts to this role.

User Account Roles

These roles are not intended to be assigned to a service account as they are specifically for users. For more information on the SaaS Management privileges for these user account roles, see the Flexera One Roles.

Role Name Description
Manage SaaS applications & users Full access to all pages within the applications section of the SaaS navigation, except for unsanctioned spend. A user with this role also has access to all pages of the Users section. This access includes the ability to read, create new, edit, and delete where applicable.

This role has all of the privileges to Manage SaaS Import APIs.
View SaaS Read-only access to view SaaS dashboard, team members screens and all pages within the applications and user serctions of the SaaS Navigation. This user has no creation, editing, or deletion abilities.

This role can retrieve import jobs and SaaS Data but cannot create import jobs.
Read-only access to view SaaS dashboard, team members screens and all pages within the applications and users sections of the SaaS Navigation. This user has no creation, editing, or deletion abilities.

Adding a Managed SaaS Application

To add a managed SaaS application in SaaS Management, perform the following steps.

  1. Complete the steps in Adding an application to your organization’s list of Managed SaaS Applications.
  2. When prompted to add the SaaS application’s license information, it is recommended to enter the license information if you have it available. Otherwise, you can enter the license information later.
  3. Note the URL for the newly created managed SaaS application. You will need this URL to set up your cloud storage environment.
    • The org id is located after the /orgs path.
    • The managed app id is located after the /managed-products (legacy term).

For example, https://app.flexera.com/orgs/123456/saas/managed-products/987654 where the org id is 123456, and the managed app id is 987654.

Important: The Managed App Id is required when creating an import job. All import jobs are directly associated with a managed application.