Skip to main content
POST
Create an identity check

Authorizations

Authorization
string
header
required

Personal API key, e.g. Authorization: Bearer sajn_sk_.... Not scope-limited — acts as the issuing user.

Headers

Sajn-Version
enum<string>

API version for this request. Without it, the request uses the organization's default version; an organization without a default is pinned to the latest version by its first request.

Available options:
2026-09,
2026-10
Idempotency-Key
string

Makes retries safe. A retry with the same key and the same request replays the stored response for 24 hours (header Idempotent-Replayed: true); the same key with a different request returns 400.

Maximum string length: 255

Body

application/json

Body

fullName
string
required

Full name of the person to verify (required)

Minimum string length: 1
channel
enum<string>
required

How the recipient gets the verification link: EMAIL or SMS.

Available options:
EMAIL,
SMS
email
string<email>

Email address to send the link to. Required on the EMAIL channel.

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
phone
string

Phone number to send the link to. Required on the SMS channel.

Minimum string length: 1
reference
string

Optional reference/external ID for tracking

contactId
string

Optional contact ID to link this verification to

expiresAt
string<date-time>

When the identity check and its link expire. Must be in the future. Default: 7 days after creation.

language
enum<string>

Language of the verification messages. Default: sv.

Available options:
sv,
en,
no,
da,
fi,
de,
is,
es,
fr,
it
nationalId
string

National identity number, such as a Swedish personnummer. When set, BankID verifies that it matches; otherwise BankID verifies the name.

Response

200

id
string
required

The identity check ID.

organizationId
string
required

The organization ID.

fullName
string
required

Full name of the person to verify.

email
string | null
required

Email address the link goes to on the EMAIL channel.

phone
string | null
required

Phone number the link goes to on the SMS channel.

channel
enum<string>
required

How the recipient got the verification link.

Available options:
EMAIL,
SMS,
IN_APP
status
enum<string>
required

sajn ID Status:

  • CREATED: Verification created but not sent
  • SENT: Verification sent to recipient
  • OPENED: Recipient opened verification link
  • VERIFIED: Identity successfully verified
  • FAILED: Verification failed
  • EXPIRED: Verification link expired
  • CANCELLED: Verification was cancelled
Available options:
CREATED,
SENT,
OPENED,
VERIFIED,
FAILED,
EXPIRED,
CANCELLED
reference
string | null
required

Your own reference for the check.

language
enum<string> | null
required

ISO 639-1 language code, such as sv or en. GET /api/v1/helpers/languages lists them.

Available options:
sv,
en,
no,
da,
fi,
de,
is,
es,
fr,
it,
null
expiresAt
string<date-time>
required

When the identity check and its link expire.

verifiedAt
string<date-time> | null
required

When the person was verified. Null until then.

createdAt
string<date-time>
required

When the identity check was created.

updatedAt
string<date-time>
required

When the identity check was last updated.

verificationUrl
string | null
required

The verification link. Set only in the response to the create request; null otherwise.

contact
object | null
required

The contact the check is linked to.

createdBy
object | null
required

A sajn user

audits
object[] | null
required

What happened to the check, newest first. Null in lists and in the response to the create request.

data
object | null
required

Verification data, such as the BankID result. Null in lists and in the response to the create request.