The relying party (RP) opens a session, delivers a request to the user's phone and gets the answer by long-poll. v3 (current spec 3.2.7) adds device-link flows and strengthens fraud protection. e-ID Mongolia's RP-API has the same structure.
This is how SK itself ranks the flows: strongest is the user opening the link themselves, weakest is push alone.
QR (another device) or Web2App / App2App (same device). The session is bound to that device. Anonymous authentication is possible.
Combines a push to a known device with a QR code.
Sends a notification by registration number. Relies on the user spotting fraud — the verification code matters here.
| Method | Path | Purpose | e-ID MN |
|---|---|---|---|
| POST | /authentication/device-link/anonymous | QR / Web2App / App2App authentication | yes |
| POST | /authentication/device-link/etsi/{id} | A specific person, device link | yes |
| POST | /authentication/notification/etsi/{id} | Push authentication | yes |
| POST | /authentication/notification/document/{doc} | Push, by document number | yes |
| POST | /signature/device-link/… | Signature, device link | yes |
| POST | /signature/notification/… | Signature, push | yes |
| POST | /signature/certificate-choice/… | Certificate choice | yes |
| GET | /session/{sessionID}?timeoutMs= | Long-poll, ≤ 120 s | yes |
| POST | /authentication/qr | “My QR” — a person shares their data as a JWS | MN only |
Smart-ID: rp-api.smart-id.com/v3/, demo sid.demo.sk.ee/smart-id-rp/v3/. e-ID Mongolia: rp.eidmongolia.mn, discovery ca.eidmongolia.mn/.well-known/eid.
rpChallenge. The data to be signed joins fields such as smart-id|ACSP_V2|serverRandom|rpChallenge|userChallenge|rpName|…|interactions|flowType into one string.sessionSecret never reaches the frontend.| Type | Text | Device link | Push |
|---|---|---|---|
| displayTextAndPIN | 60 characters | ✓ | ✓ |
| confirmationMessage | 200 characters | ✓ | ✓ |
| …AndVerificationCodeChoice | 200 characters, pick from 3 codes | — | ✓ |
| Language | Smart-ID | e-ID Mongolia |
|---|---|---|
| Java | Official, v3 | — |
| TypeScript / Node | Community, v3 | Official, full + lite |
| Go | Community, v2 | Official, full |
| .NET | Community, v2 | PAdES · QR, partial |
| PHP | Official, v2 authentication | — |