developers · api-first

Build on the platform,
not around it.

Everything the fkra apps do goes through the same REST API you get — organizations, paths, modules, progress. Wire it into your stack, not the other way round.

Three calls to a running academy

Create the org, enroll the team, read the progress. That is the API.

Create the organization

One POST — tenant, locale and theme. The org exists.

cURLTypeScriptResponse
curl -X POST https://api.fkra.ai/v1/orgs \
  -H "Authorization: Bearer sk_live_…" \
  -d '{ "name": "Acme Academy", "locale": "ar" }'

curl -X POST https://api.fkra.ai/v1/orgs/org_7f3/enrollments \
  -d '{ "pathId": "path_leadership", "userIds": ["u_812"] }'

curl https://api.fkra.ai/v1/orgs/org_7f3/progress?path=path_leadership

Enroll the team

Attach people to a path; prerequisites and notifications fire on their own.

cURLTypeScriptResponse
const fkra = new Fkra({ apiKey: process.env.FKRA_KEY });

const org = await fkra.orgs.create({
  name: 'Acme Academy',
  locale: 'ar',
});

await fkra.enrollments.create(org.id, {
  pathId: 'path_leadership',
  userIds: ['u_812'],
});

const progress = await fkra.progress.list(org.id);

Read the progress

The same numbers the dashboards render — completion, scores, evidence.

cURLTypeScriptResponse
201 Created

{
  "id": "org_7f3",
  "name": "Acme Academy",
  "locale": "ar",
  "rtl": true,
  "audit": {
    "actor": "api:sk_live_…",
    "action": "org.created"
  }
}

Define your own module types

A module type is a pair of JSON schemas — config and body. Ship a new interactive format without waiting on us: the studio forms and the player pick it up from the schema.

Tenants and scopes, for real

Every organization lives in its own tenant, and every admin action needs the right scope. The isolation the government tier runs on is in the core — not a bolt-on.

One API for everything

Organizations, paths, modules, progress — if the apps can do it, the API can too.

Speaks your language.

Every surface ships in Arabic and English with true right-to-left layout — content, dashboards, certificates.

An audit trail

Publishes, permission changes, attestations — recorded with actor, action, and object, and exportable into your compliance tooling.

14:02:11 module.published policy-v4-2 by amina@fkra.ai14:02:12 cert.issued FKRA-8241 to u_81214:07:44 org.created acme-academy via api

And everything you'd expect

The rest of the platform is one sign-in away.

Analytics

Engagement, readiness, and completion — live per team

Notifications

Achievements and certificates land the moment they are earned

Discover

A storefront for everything your organization teaches

Communities

Practice groups, events, polls, and module discussions

Gamification

Points, badges, streaks, and verifiable certificates

Media timeline

Chapters, cues, bookmarks, and notes on every video

Learning paths

Stages, prerequisites, and outcomes — sequenced by difficulty

Assessments

An authoring wizard, timed runs, server-side grading

The platform, in numbers
30+interactive module types
10languages, one experience
100%of certificates verifiable
isolated tenants on one platform

Explore more