canonical: https://jentic.com/apis/letslevelup.app/letslevelup

# Letslevelup App Let's Level Up API

Jentic publishes the only available OpenAPI specification for Let's Level Up API, keeping it validated and agent-ready. Let's Level Up is an employee development platform that exposes endpoints for managing learners, courses, progress, and skill records. The API covers user provisioning, course catalogue listing, progress tracking, and the skill graph, providing a slim integration surface for HRIS and learning operations tools to keep training data in sync.

## For AI agents

Provision learners, list and assign courses, track progress, and read skill records on the Let's Level Up employee development platform.

## Scope

Does not handle payroll, performance reviews, or live video instruction - use for learner provisioning, course management, progress, and skills only.

## Capabilities

- Provision and retrieve learner profiles via /users and `/users/{userId}`
- List the course catalogue and create new courses through /courses and `/courses/{courseId}`
- Record and read learner progress against courses with the /progress endpoint
- Query the skill graph for available skills using /skills and `/skills/{skillId}`
- Authenticate integration calls with the api_token API key header for tenant-scoped access

## Use cases

### HRIS-driven learner provisioning

When a new hire is added to the company HRIS, an integration provisions them in Let's Level Up by calling POST /users with their profile details. The same integration can later pull `/users/{userId}` to confirm enrolment status and keep the learner record aligned with the system of record. This eliminates manual user creation and ensures every employee has access to training on day one.

Example prompt: Call POST /users with name, email, and role to provision a new hire in Let's Level Up, then verify the user with GET `/users/{userId}.`

### Training progress reporting

L&D teams need a single view of who has completed required training. An integration polls GET /progress to read learner progress data and pushes the rolled-up status into a BI dashboard or HRIS field. Combined with /courses metadata, this keeps compliance and skills reporting up to date without manual exports.

Example prompt: Pull GET /progress for the current quarter, join with GET /courses to attach course titles, and produce a CSV of completion percentages by learner.

### Skills graph synchronisation

An organisation maintaining a skills taxonomy in a separate HR system pulls /skills and `/skills/{skillId}` from Let's Level Up to keep the two catalogues aligned. This ensures that when a learner finishes a course tied to a skill, the skill credit lands in the right node of the company-wide skills graph and shows up correctly on internal mobility profiles.

Example prompt: Iterate GET /skills and fetch each `/skills/{skillId}` to refresh the skill catalogue cached in the HRIS skills module.

### AI agent learning concierge via Jentic

A workplace AI agent fields questions like 'what courses am I enrolled in?' and 'how far am I through onboarding?'. Through Jentic the agent searches for 'list courses' or 'get learner progress', loads the relevant Let's Level Up operation, and executes with the api_token held in your Jentic One instance. The employee gets fast answers and the agent never sees the raw API key.

Example prompt: Use Jentic to search 'get learner progress', load GET /progress, and return the user's current course completion status.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/users` | Create a learner. |
| GET | `/users/{userId}` | Retrieve a learner profile. |
| GET | `/courses` | List the course catalogue. |
| POST | `/courses` | Create a course. |
| GET | `/progress` | Read learner progress. |
| POST | `/progress` | Update learner progress. |
| GET | `/skills` | List skills. |

## Key resources

- **Users** — Provision and retrieve learner profiles.
- **Courses** — List the catalogue and create new courses.
- **Progress** — Read and update progress data for enrolled learners.
- **Skills** — Browse the skill graph and retrieve individual skills.

## Why Jentic

- **Setup:** Wiring the Let's Level Up API by hand means setting its api_token header, learning which endpoints cover learners, courses, progress, and skills, and calling the letslevelup.app workflow host yourself. Through Jentic you install once, import the Let's Level Up API from the API Directory, store the api_token once, and your agent calls it.
- **Permission scoping:** Let's Level Up creates learners and courses by posting to collection endpoints like /users and /courses, so scope the agent to the operations it needs, such as reading progress or provisioning a learner. You leave out the write operations you do not want it to run, so it only calls the ones you allow.
- **Credential handling:** Your Let's Level Up api_token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a learner' or 'check course progress', and Jentic returns the matching Let's Level Up operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Workable API** — Recruiting and onboarding ATS that hands off new hires to a learning platform like Let's Level Up.
- **BambooHR API** — HRIS that holds employee records and can drive provisioning into Let's Level Up.
- **Rippling API** — Workforce platform with built-in learning module, alternative to a standalone LMS for some teams.

## FAQ

### Why is there no official OpenAPI spec for Let's Level Up API?

Let's Level Up does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Let's Level Up via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Let's Level Up API use?

The API uses an API key passed in the 'api_token' HTTP header. The token scopes calls to your tenant on letslevelup.app. Through Jentic the token is held in your Jentic One instance and injected at request time, so an agent never sees the raw value.

### Can I provision new learners with the Let's Level Up API?

Yes. POST /users creates a learner profile and GET `/users/{userId}` retrieves it. This is the standard pattern for HRIS-driven onboarding integrations that need to give every new hire training access automatically.

### What are the rate limits for the Let's Level Up API?

letslevelup.app does not publish public rate-limit numbers. The API runs on Bubble's workflow infrastructure (api/1.1/wf), which generally favours moderate request rates - paginate listing calls, retry on 429 with backoff, and avoid tight loops over /users or /courses.

### How do I report on course completion through Jentic?

Install with 'pip install jentic', search for 'get learner progress', and Jentic returns GET /progress with its schema. Load and execute the call, then join the result against GET /courses to attach human-readable course titles for reporting.

### Can I limit what my agent is allowed to do with the Let's Level Up API?

Yes. Because you run Jentic One yourself, your own rules decide which Let's Level Up operations the agent may call and which api_token it uses. You can allow read-only calls like GET /progress, GET /courses, GET `/users/{userId}`, and GET /skills while leaving out write operations such as POST /users, POST /courses, and POST /progress, so the agent provisions or updates nothing you have not permitted. The api_token stays with your instance and is injected at request time, keeping the raw key out of the agent's context.
