What you are actually adding
Edpire becomes the exercise layer inside a lesson. Your courses, your users, your UI and your mobile app stay exactly as they are. The only change to your product is that a lesson can now contain an assessment.
What we do not do, so it is said early: we do not write your content for you, we do not manage your users or rosters (learners reach us as a
learner_ref you control), and we do not replace your LMS, your video, or your progress tracking.
The one decision worth making up front
Who writes the assessments? This is the question that decides whether an integration succeeds, and it is not a technical one. The common failure is assuming “our teachers will do it.” Platforms that have already tried an in-house quiz tool usually discovered their teachers did not want to author, which is exactly why they are talking to us. Name one or two people who own assessment content. Not the whole teaching staff. Those people get Edpire logins and work in our builder; everyone else carries on as before.The four loops
An integration is four repeating loops, not one project. Three of them are ours or automatic.Phase 1 — going live
Step 1 · Provisioning (us, about a day)
We create your organization and send you:- An API key (
Integrationsin the dashboard) - Your registered domains in the two allow-lists (see below)
- A webhook endpoint pointed at your receiver
- Your quota band
Step 2 · Name your content owners (you, blocking)
Nothing else is blocked by this, but the integration is worthless without it. See above.Step 3 · Authoring (your content owners)
They log in toedpire.com, build assessments in My Assessments, and publish. Each published assessment has a UUID and a share code.
Step 4 · Linking (your developer, half a day)
Add anedpire_assessment_id column to your lesson or content table.
author_url drops that person into the Edpire builder for exactly that assessment. They sign in to Edpire as themselves the first time; after that the link just works.
The link carries context, not access. It identifies an assessment, not a person. Whoever
opens it must be signed in to Edpire as themselves, be a member of your organization, and hold
an author or admin role. Sending the link to the wrong person grants them nothing, and it can
never be used to act as somebody else. It is valid for 24 hours.
GET /api/v1/assessments?status=published and render a dropdown in your admin. Worth it once you have more than a handful.
Step 5 · Mount the player (your developer, 1 to 2 days)
Use the Embedded Player. Web and mobile share one token endpoint on your backend.learner_ref is your user ID. We never resolve it to a person, and every submission stays tied to it.
Step 6 · Receive results (your developer, half a day)
Register a webhook forsubmission.graded, verify the signature, and write the result into your own tables. Your existing progress UI does not need to change.
Phase 1 should be auto-graded only. Every question type except open-ended grades instantly, with
no teacher involvement, which is the whole point for adoption. If an assessment contains open-ended
questions,
submission.graded arrives with awaiting_manual_grading: true and a provisional
score covering only the auto-graded part. The real total arrives later on
submission.grading.completed, after a teacher grades it in our dashboard. Handle that event before
you enable open-ended questions.Step 7 · Test without polluting your numbers
Use a second organization, as described in Testing. Quotas, analytics and active-learner counts are all scoped per organization, so development traffic never reaches your real reporting.Effort estimate
Give this to whoever is signing off the cost.
Authoring is not in this table because it is not developer work. It runs in parallel from Step 3.
Phase 2 — once you are live
None of this is needed to launch. Ask when you want it.- Open-ended questions with teacher grading. Works today over the API; grading happens in our dashboard.
- Analytics in your product.
GET /api/v1/assessments/{id}/analyticsreturns per-question stats, score distribution and per-learner results, so you can render them in your own UI. - Catalog sync. Mirror assessment titles and metadata into your database and keep them current with webhooks. See Catalog Sync.
- Custom learner experience. If you want a Duolingo-style drill rather than a standard assessment, that is Custom Flow. More work, more control.
Go-live checklist
- One or two named content owners, with logins, who have published at least one real assessment
- Production domains in the correct allow-list (embed pages in Allowed Embed Origins)
- API key server-side only, never in a browser bundle
-
learner_refis your stable internal user ID, not an email or username - Webhook signature verification tested with a deliberately bad signature
- Webhook handler is idempotent on
submission_id - You handle
awaiting_manual_grading, or you have confirmed no assessment uses open-ended questions - Development traffic runs through a second organization
- Someone owns the relationship on your side and knows how to reach support@edpire.com