Data as a Service

Data as a Service (DaaS) gives your organization its own copy of your learning data, delivered as files that you load into your data lake, warehouse, or business intelligence (BI) tool. You can use the data to build the tables and dashboards you need, without waiting on a custom report from Skillsoft.

Skillsoft wave logo Your contract with Skillsoft determines if you have access to this feature. Reach out to your Skillsoft account team for more information. If you do have access to DaaS, it is not enabled by default. To use it, contact your Skillsoft Account Team. They will arrange for it to be enabled for your site. Until then, the APIs on this page are not available to your organization.

Insights

Getting your data through DaaS helps you answer questions such as:

  • How many learners were active this month, and how does it vary by department, location or management level (or some other user attribute)?
  • Are we on track to meet compliance training deadlines? Who is overdue, and under which manager?
  • Which content drives engagement and learning hours? Which content is under-used?
  • How are certification and skill programs progressing?
  • Are learners moving through structured learning journeys as designed?
  • How do we compare with anonymized industry peers?

Get Started using DaaS

The following is the flow on how to get started using DaaS:

  1. Get it enabled. DaaS is not on by default. Ask your Skillsoft Account Team to enable it for your site, and to create a service account and bearer token for your organization.
  2. Discover your data. Call the Data Dictionary to list categories and tables, their grain and columns.
    1. List the categories available to your organization:

      curl -sS -H "Authorization: Bearer $TOKEN" \

      "$BASE/v1/organizations/$ORG/categories"

    2. List the tables in a category (each includes name, description, grain and columnCount):

      curl -sS -H "Authorization: Bearer $TOKEN" \

      "$BASE/v1/organizations/$ORG/categories/learning/tables"

  3. Request an export. Choose all tables, specific tables, or whole categories, and a file format using the commands below. You then get a 202 Accepted response which returns a jobId. Save it.

    curl -sS -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json"

    -d '{"scope":"tables","tableNames":["assignment_status"],"format":"csv"}' \

    "$BASE/v1/organizations/$ORG/exports"

  4. Check the job. When it is complete, the response lists a download URL per file.

    curl -sS -H "Authorization: Bearer $TOKEN" \

    "$BASE/v1/organizations/$ORG/exports/$JOB"

  5. Download and load. Download the files within the hour and load them into your data lake, warehouse, or BI tool. Download URLs expire 1 hour after the response that returned them. Call this endpoint again to get new URLs. The URL is a normal HTTPS GET and does not need the bearer token. Download before expiresAt and do not store the URL for later. The files themselves expire 7 days after the job was created. After that, request the export again.

    curl -sS -o assignment_status.csv "$FILE_URL"

  6. Repeat. Later exports return only changed rows for tables that support incremental extracts. Apply them after the first full load.

Working with Data

Common Join Keys

Join Keys

User and activity

users.user_uuid = daily_activity.user_uuid

User and HR data

users.user_id = hris_data.external_user_id

User and custom attributes

users.user_uuid = user_attributes.user_uuid

User and audiences

users.user_uuid = audience_users.user_uuid

Activity and content

daily_activity.asset_uuid = content_listing.asset_uuid

Assignment and user

assignment_detail_by_user.user_uuid = users.user_uuid

Data types and conventions

  • Dates are YYYY-MM-DD.
  • Timestamps are ISO 8601.
  • Percentages and scores are stored 0-100, not 0-1.
  • Durations are typically in seconds: divide by 3600 for hours, 60 for minutes.
  • Nulls mean not applicable (for example, a score on a video), not zero.
  • Formats: Parquet suits large datasets best. CSV suits Excel. JSON files are gzip-compressed.
  • Recurrence: recurrence_number in learner_activity counts engagements with the same content (1 = first time, 2 = second).

Personal data (PII) and your responsibilities

  • Some fields contain personally identifiable information, including names, email and login names, user_id, job title and role, manager, custom attributes, and free-text comments and waiver reasons. The data is yours, so you are responsible for how it is handled once downloaded:
  • Handle it in line with your data governance and privacy policies (for example GDPR and CCPA).
  • Restrict access to downloaded files and apply row-level security or masking when sharing dashboards.
  • Store the service account token securely. Do not embed it in shared scripts or dashboards.

Frequently Asked Questions

Support and resources

The following is available to help you take advantage of DaaS:

  • For enablement, access, full re-extracts, and data questions, contact your Skillsoft Account Team or Skillsoft Support. Include your organization id and, for export issues, the jobId and the requestId from any error.
  • Custom analytics help: your Skillsoft team can recommend implementation partners if you need help building dashboards or data models.
  • Schema updates: the Data Dictionary API is always current. New data models are added over time.