BankID Auth Service
API Contract
REST
/api/v1/auth/bankid
6 endpoints
GET
/api/v1/auth/bankid/api/v1/auth/bankid/sessions
List BankID sessions for current user
Public
Response Example
{
"data": [
{
"session_id": "bids_3e9c1f2a",
"org_id": "org_helseapp",
"status": "completed",
"created_at": "2026-03-26T09:00:00Z",
"completed_at": "2026-03-26T09:01:30Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
POST
/api/v1/auth/bankid/api/v1/auth/bankid/sessions
Initiate a new BankID authentication session
Public
Request Example
{
"org_id": "org_helseapp"
}
Response Example
{
"session_id": "bids_3e9c1f2a",
"org_id": "org_helseapp",
"redirect_url": "https://bankid.no/auth?session=bids_3e9c1f2a&nonce=qWxYz123",
"status": "initiated",
"expires_at": "2026-03-26T10:20:00Z",
"created_at": "2026-03-26T10:10:00Z"
}
GET
/api/v1/auth/bankid/api/v1/auth/bankid/sessions/:session_id
Get BankID session by ID
Public
Response Example
{
"session_id": "bids_3e9c1f2a",
"org_id": "org_helseapp",
"status": "completed",
"redirect_url": "https://bankid.no/auth?session=bids_3e9c1f2a&nonce=qWxYz123",
"expires_at": "2026-03-26T10:20:00Z",
"created_at": "2026-03-26T10:10:00Z",
"completed_at": "2026-03-26T10:12:45Z"
}
POST
/api/v1/auth/bankid/api/v1/auth/bankid/sessions/:session_id/validate
Validate BankID assertion token and extract identity
Public
Request Example
{
"assertion_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxNTA3NjUwMDU2NSIsIm5hbWUiOiJLYXJpIE5vcmRtYW5uIn0..."
}
Response Example
{
"nin": "15076500565",
"name": "Kari Nordmann",
"given_name": "Kari",
"family_name": "Nordmann",
"date_of_birth": "1965-07-15",
"identity_verified": true,
"assurance_level": "substantial",
"validated_at": "2026-03-26T10:12:45Z"
}
POST
/api/v1/auth/bankid/api/v1/auth/bankid/link
Link verified BankID identity to Supabase user account
Public
Request Example
{
"nin": "15076500565",
"name": "Kari Nordmann",
"given_name": "Kari",
"family_name": "Nordmann",
"date_of_birth": "1965-07-15",
"identity_verified": true,
"assurance_level": "substantial",
"validated_at": "2026-03-26T10:12:45Z"
}
Response Example
{
"user_id": "usr_7f3a1c9d",
"bankid_linked": true,
"nin_stored": true,
"linked_at": "2026-03-26T10:13:00Z"
}
DELETE
/api/v1/auth/bankid/api/v1/auth/bankid/sessions/:session_id
Cancel an active BankID session
Public
Response Example
{
"session_id": "bids_3e9c1f2a",
"status": "cancelled",
"cancelled_at": "2026-03-26T10:11:00Z"
}