Hem UppdragHitta frilansuppdrag FaktureraSå fungerar fakturering UtbetalaAdministrera uppdragstagare SupportKundservice och hjälp
Land
Språk
Skapa ett gratis konto

API/Verifiering

Flöden

Verifiering (KYC / ID)

Veriff och BankID används för att verifiera uppdragstagarens identitet. Flödet går från godkänd return-URL, via en session per användare, till en terminal status.

Innehåll

Flödet från början till slut

  1. Registrera en return-URL

    POST /verification-return-urls med den URL användaren ska skickas tillbaka till. Svaret innehåller requested_url och status. Godkännandet görs manuellt av EasyFreelance och kan ta tid – 201 betyder registrerad, inte godkänd. Använd GET /verification-return-urls för att se status.

  2. Starta en session

    POST /users/{id}/verification/flows med provider och partner_return_url. URL:en måste vara tillåten för er partner, mätt mot en godkänd requested_url. Är den inte det får ni 422.

  3. Skicka användaren till verification_url

    Svaret innehåller verification_id och verification_url. Öppna URL:en i slutanvändarens webbläsare. Den pekar alltid på EasyFreelance verifieringssida, som sedan skickar användaren vidare till Veriff eller BankID.

  4. Användaren slutför och kommer tillbaka

    Efter Veriff eller BankID skickas användaren tillbaka till EasyFreelance, och därifrån vidare till partner_return_url.

  5. Polla tills status är terminal

    GET /verification/status/{verificationSession} med verification_id som ID. Polla var 2:e–5:e sekund. Alternativt, eller som komplement, kan ni lyssna på employee.verified-webhooken och hämta GET /users/{id} för slutgiltigt resultat.

Leverantörer

providerid_typeAnvänd
verifflocalVeriff-integrationen för norska ID-handlingar.
veriffinternationalVeriff-integrationen som endast tar emot utländska dokument.
bankid—BankID. id_type kan utelämnas och returneras som null.
Obs

id_type är obligatorisk när provider är veriff. De två Veriff-integrationerna är ömsesidigt uteslutande: local godtar inte utländska dokument, och international godtar inte norska. Välj rätt variant innan ni skickar iväg användaren.

Return-URL:en

När en session är terminal skickar EasyFreelance användaren till partner_return_url med dessa frågeparametrar tillagda. Er sida måste klara av – och helst läsa – dem.

ParameterExempel
verification_id550e8400-e29b-41d4-a716-446655440000
providerbankid eller veriff
statusapproved, incomplete, error …
Blanda inte dessa

Fälten normalized_host, normalized_scheme och normalized_path_prefix i return-URL-svaret är till för visning, allowlisting och unikhet i databasen. Själva matchningen när ett flöde startas görs mot lagrad requested_url – normalized_path_prefix är inte en egen ”path-mall”.

Statusvärden

statusTerminalBetydelse
pendingNejSessionen är skapad, användaren är inte klar.
approvedJaLeverantören är OK och identiteten är komplett.
incompleteJaLeverantören är OK, men identitetsfält saknas.
declinedJaVerifieringen avvisades.
errorJaFel under genomförandet – till exempel duplicerat personnummer.
expiredJaSessionen gick ut innan användaren blev klar.
cancelledJaAnvändaren avbröt.

next_action

next_action är alltid satt i pollningssvaret och talar om vad er klient bör göra härnäst.

next_actionNärGör så här
continue_verificationpendingFortsätt polla.
redirect_to_partnerapprovedSkicka användaren vidare i ert eget flöde.
retry_verificationincompleteBe användaren starta om verifieringen.
contact_supporterror med dubblerat personnummerKräver manuell uppföljning – kontakta EasyFreelance.
retrydeclined och andra felLåt användaren försöka igen.
show_errorexpired, cancelledVisa ett felmeddelande och erbjud en ny start.

id_verification_detail

Samma struktur returneras på GET /users/{id}, i användarlistan, vid uppslag, vid pollning och i webhooken. Använd reason_codes till automatik och partner_instructions till text som ni kan visa vidare.

reason_codeBetydelse
ssn_not_providedLeverantören returnerade inget personnummer.
ssn_duplicatePersonnumret finns redan i systemet. Kräver manuell uppföljning – kontakta support.
birthday_not_providedFödelsedatum saknas.
provider_data_incompleteEntiteten är godkänd, men identitetsdata är ofullständiga.
veriff_missing_id_numberVeriff returnerade inget ID-nummer.
veriff_missing_date_of_birthVeriff returnerade inget födelsedatum.
veriff_missing_document_countryVeriff returnerade inget dokumentland.
Pollningssvar med incomplete
{
  "verification_id": "550e8400-e29b-41d4-a716-446655440000",
  "user_id": 123,
  "provider": "bankid",
  "id_type": null,
  "status": "incomplete",
  "verified_at": "2026-07-08T12:00:00+00:00",
  "expires_at": "2026-07-08T12:30:00+00:00",
  "next_action": "retry_verification",
  "last_polled_at": "2026-07-08T12:00:05+00:00",
  "id_verification_detail": {
    "complete": false,
    "entity_status": "approved",
    "provider": "BankID",
    "missing_fields": [
      "identification"
    ],
    "reason_codes": [
      "ssn_not_provided"
    ],
    "partner_instructions": [
      {
        "code": "retry_verification",
        "message": "Identity verification partially completed. Missing national ID number."
      }
    ]
  }
}

Duplicerat personnummer

Får ni status: error med ssn_duplicate, är numret redan registrerat i systemet. Detta kan inte lösas via API:et – kontakta [email protected] och ange användar-ID.

På GET /users/{id} hämtar servern automatiskt den senaste terminala ssn_duplicate-sessionen för er partner, så att detta resultat dyker upp utan att ni behöver skicka med verification_id.

Webhook

Slår ni på employee.verified i API-inställningarna skickar vi ett POST-anrop till er callback-URL när verifieringen är klar. Det är ett bra alternativ till frekvent pollning. Se Webhooks på engelska.