Skip to main content
JAM’s Data Export API lets you pull your training data into Excel for custom reporting. Once set up, refreshing your data takes a single click.

Before you start

You’ll need: To create your API key:
  1. Go to https://auth.wejam.ai/org/api_keys/ and sign in as an Owner.
  2. Click Create key, give it a name, and copy it somewhere safe.
  3. Keep it private - it grants read access to your organization’s data. If it’s ever exposed, delete it and create a new one from the same page.
You only need to create the API key once. You’ll paste it into Excel during setup, and it stays there for all future refreshes.
For more detail, see Using the Jam API for Data Export.

What data you can pull

The API covers four main training entities. Others - teams, sprints, track assignments, and mission assignments - are also available and work the same way.
A session is a single roleplay round played by one learner on one mission. It’s the core performance record - it carries an overall score (0-100) and a per-task scorecard breakdown.

Set up Excel (one time)

Do this once. After setup, refreshing data is just Data → Refresh All.
  1. In Excel, go to Data → Get Data → From Other Sources → Blank Query.
  2. In the editor that opens, choose Home → Advanced Editor.
  3. Delete whatever is in the box, paste one of the code examples below, and replace YOUR_API_KEY with your real key.
  4. Click Done.
  5. If Excel asks how to connect to api.wejam.ai, choose Anonymous and click Connect.
  6. When the table preview looks right, click Home → Close & Load.
Always choose Anonymous when Excel asks for credentials - not “Web API” or “Organizational account.” Your API key is already included in the code as a header, so no other auth is needed.

Code examples (Power Query)

Two methods below. Method A is quickest for a single entity. Method B is cleaner if you want all four - your key lives in one place and you get four tidy worksheets.

Method A - one query per entity

Paste this into the Advanced Editor. It pulls missions by default. To pull a different entity, change the single word at the end of the BaseUrl line - missions to users, sessions, or tracks. Everything else stays the same.
This keeps your API key in a single spot. Step 1 - store your key as a parameter. In Power Query, go to Home → Manage Parameters → New Parameter. Name it ApiKey, type Text, and set the current value to your key. Step 2 - create the shared function. New Source → Blank Query → Advanced Editor. Paste the code below and rename the query to fnGetJamData.
Step 3 - create one query per entity. For each entity, do New Source → Blank Query → Advanced Editor and enter a single line:
Name each query (Users, Sessions, Tracks, Missions) and click Close & Load. You’ll get four worksheets, all sharing the same key.

Bonus: a ready-to-read sessions report

Raw sessions reference users and missions by ID. The query below joins them so each row shows the learner’s name, mission title, date, score, and completion status - the kind of table you can hand straight to a manager. This uses the fnGetJamData function from Method B above.

Key fields by entity

The code auto-expands all fields, but these are the ones most reports rely on. Users: id · firstName · lastName · email Sessions:
  • analysis.score - overall score 0-100 (the headline metric)
  • completed - whether the roleplay was finished (true/false)
  • createdAt - when the session was played
  • learnerUserId - links to id in Users
  • missionId - links to id in Missions
  • Scorecard: each task has an itemScore (0-6), mapped to solved / partly solved / not yet solved
Tracks & Missions: id · title - see the API reference for the full schema

Troubleshooting


Last updated: June 2026