Partner Onboarding Checklist¶
The complete path from signed agreement to production traffic. Work top to bottom; each phase gates the next. Typical end-to-end duration for an engaged team: 3–6 weeks, most of it in Phase 2.
Your progress saves in this browser
Check items off as you go — they persist across visits on this device.
| Phase | You'll need | Typical duration |
|---|---|---|
| 1. Prerequisites | Business + admin setup | days (mostly FSRI-side) |
| 2. Sandbox Integration | Your dev team | 2–4 weeks |
| 3. Certification | Evidence of Phase 2 | ~1 week incl. review |
| 4. Production Access | Certification pass | days |
Phase 1 — Prerequisites¶
- Partner agreement signed with FSRI (commercial + data terms). Owner: your business team.
- Technical contact designated — name/email given to FSRI for API changes, incidents, and certification traffic.
- Development environment ready — server-side stack that can make HTTPS calls; secret storage for credentials (vault/secret manager, not env files in git).
- Sandbox credentials received from FSRI via secure channel — three values: Client ID, Client Secret, API key.
- Docs bookmarked: Quick Start · Authentication · Error Handling.
Phase gate: you hold sandbox credentials and know who your FSRI contact is.
Phase 2 — Sandbox Integration¶
Follow the Quick Start for the first three boxes — they should take minutes, not days.
- Token mint works — client_credentials grant returns a JWT with both scopes. Expected:
200,expires_in: 3600. - Authentication test passes —
GET /ping(API key) andGET /courses(full chain) both200. Remember: ping alone proves nothing about your token. - Token caching implemented — one token reused for its hour, refreshed proactively, single retry on
401. (The example clients implement this pattern.) - User registration integrated — your signup/enrollment flow calls
POST /users/registerand persists the UUID. Duplicate-email idempotency handled. - Catalog access built — courses/categories/modules fetched, paginated correctly, cached on your side; scheduled re-syncs use
updatedAt[after]delta filters. - Content playback works —
GET /modules/{id}/content→ embedded iframe/player renders FSRI content;expires_atrespected (click-time fetch +refresh-urlfor long playback). - Completion wired — "Mark as Complete" control on video/document/resource modules calls
POST /modules/{id}/complete(202); absent for SCORM modules. - Progress tracking displayed —
GET /course-progressessurfaces status/percent in your UI, polled proportionately. - Transcript & certificate generation —
certificateAvailable: truerecords expose the certificate PDF; full transcript PDF retrievable. - Error handling implemented — per Error Handling: backoff on
429/5xx, no retries on400/403/404/409, no credentials in logs. - Offboarding path chosen — deactivate and/or GDPR delete wired to your account-closure flow, per your privacy policy.
Phase gate: a learner can go signup → browse → play → complete → certificate entirely inside your LMS against sandbox.
Phase 3 — Certification Testing¶
Full detail: Sandbox Certification.
- All 5 scenarios pass in your integration (20 numbered items).
- Evidence bundle assembled — timestamped request/response logs per item, credentials redacted.
- Submitted to your FSRI integration contact.
- Review passed — expected within 5 business days; fix-and-resubmit cycles re-review only failed scenarios.
Phase gate: written certification pass from FSRI.
Phase 4 — Production Access¶
- Production credentials received (secure channel — same three-value shape as sandbox).
- Configuration switched safely — production base URL + token endpoint + credentials in your production secret store; sandbox and production config fully separated.
- Production smoke test —
/ping, one authenticated read (/courses), then register one pilot user. Expected: identical behavior to sandbox. - Go-live coordinated with FSRI — launch window and expected volumes shared with your contact (runbook, partner area).
- Monitoring in place — you log status/latency per API call and alert on sustained
401/403/5xx. - Support path confirmed — your team knows the escalation route and evidence format.
Phase gate: you're live. 🎉 Keep sandbox credentials active — you'll want them for testing your own future changes.