Duidelijk
Bekijk wie iets vraagt en precies wat diegene nodig heeft.
Of wat er ook relevant is—niet je hele identiteitsbewijs.
Wat je kunt verwachten
Bekijk wie iets vraagt en precies wat diegene nodig heeft.
De verificatie gebeurt direct op je apparaat, zonder standaard wachtrij voor handmatige beoordeling.
Bewaar een voltooide verificatie op je apparaat en hergebruik die wanneer deze nog geldig is en wordt geaccepteerd.
Keur alleen de gevraagde informatie goed.
Start via een Verihop-link of QR-code. Je ziet wie iets vraagt en welke gegevens nodig zijn voordat er iets wordt gedeeld.
Verihop toont de aanvragende dienst en de exacte gegevens die deze nodig heeft.
Volg de begeleide identiteitsdocument- en live-houdercontroles die voor het verzoek beschikbaar zijn.
Keur de gevraagde gegevens goed en ga verder waar je gebleven was.
Een betere overdracht
Deel het goedgekeurde resultaat zonder standaard opnieuw een volledig document te uploaden.
Meer weten over hoe identiteitsinformatie wordt verwerkt? Lees de privacyverklaring.
Gemaakt voor het echte leven
Leeftijd
Bevestig je leeftijd zonder een volledige paspoortkopie te delen.
Verhuur & diensten
Deel gevraagde geverifieerde gegevens zonder alles opnieuw te typen of uploaden.
Accountonboarding
Rond de controle af en keer direct terug naar de dienst.
Accounttoegang
Verifieer voor gevoelige acties, ondersteuning of accountherstel.
Bouw je een van deze ervaringen? Bekijk hoe Verihop werkt voor bedrijven, integraties en klantreizen. Bekijk VOOR BEDRIJVEN →
Klaar wanneer jij dat bent
Probeer de leeftijdscontroledemo, bekijk de exact gevraagde gegevens en voltooi de flow op je telefoon.
API voor persoonlijke identiteit
Create a verification session from your backend, send the returned launch URL, and securely fetch the user-approved result. Verihop verzorgt the verification, consent, and device routing.
Wil je het product- en bedrijfsoverzicht? Bekijk VOOR BEDRIJVEN →
INTEGRATIESTAPPEN
POST /v1/sessions
Gebruik de teruggegeven launch_url of qr_url.
Verwerk session_id, result_token en, waar van toepassing, optionele ondertekende callbackgegevens.
GET /v1/sessions/{id}/result
API-sleutels blijven op je backend. Geverifieerde persoonsgegevens worden niet in callback-URL's geplaatst.
Een sessie onder beheer van je backend start de stroom; goedgekeurde identiteitsinformatie wordt server-to-server opgehaald.
Test in het Customer Portal
Gebruik een testaccount om gevraagde velden te kiezen, een callback in te stellen, de Session Voorbeeld uit te voeren en de echte aanvraag, respons, sessiestatus en het gestructureerde resultaat te bekijken.
Integratieskill voor agents
Eén veilige bron voor testconfiguratie, server-side sessies, callbacks, resultaten, launchgedrag en beknopte patronen voor Node, Python, Swift, Kotlin, Java, Go, PHP, Ruby en cURL.
Postman-collectie
Stel je API-key en callback-URL in, maak een sessie en plak daarna de result token om het geverifieerde resultaat op te halen.
Path: https://api.verihop.com
Authenticeer partnerrequests alleen vanaf je backend:
Authorization: Bearer <api_key>
Maak eerst een testaccount om een API-key voor integratie te krijgen. Testresponses zijn bewust geredigeerd en hetzelfde account kan later naar productie worden gezet.
/v1/sessionsMaak een verificatiesessie en ontvang een launch URL plus ondertekende sessietoken.
expires_at is verstreken. Hergebruik geen verlopen launch-URL, QR-code of callback-token.Authorization: Bearer <api_key>
Content-Type: application/json
Idempotency-Key: <uuid> // recommended
{
"app": "RideNow",
"header": "Age check",
"fields": ["legalName", "over18", "documentNumber"],
"callback": "ridenow://verified"
}
app: weergavenaam van de partnerapp binnen Verihop (max. 80 tekens).header: korte verificatietitel die de gebruiker ziet (max. 120 tekens).fields: gevraagde veldtokens; bij leeg/ontbrekend gebruikt Verihop legalName en over18.callback: basis-retour-URL uit POST /v1/sessions. Verihop opent deze na afronding en voegt session_id, result_token (success path) en optioneel callback_jwt toe; verplicht en gevalideerd tegen je productie-allowlist.Authorization: partner-API-key in bearer-formaat.Content-Type: gebruik application/json voor request body parsing.Idempotency-Key: retry-key voor create-session dedupe; stuur UUID v4/v7 en hergebruik alleen voor retries met dezelfde payload.201-response{
"session_id": "sess_123",
"expires_at": 1730000000,
"launch_url": "https://www.verihop.com/verify.html?session_id=sess_123&token=h_abc123",
"app_clip_url": "https://appclip.apple.com/id?p=KycBox.VerifyBox.Clip&session_id=sess_123&token=h_abc123",
"qr_url": "https://www.verihop.com/verify.html?session_id=sess_123&token=h_abc123",
"status_url": "https://api.verihop.com/v1/sessions/sess_123"
}
session_id: unieke sessie-ID voor tracking en result retrieval.expires_at: vervaltijd van de sessie (Unix epoch seconds).launch_url: primaire URL voor web, Android, QR-codes, e-mail, SMS en algemene handoff.app_clip_url: directe native App Clip-URL voor iOS-partnerapps. Open deze exact zoals ontvangen; bouw de URL niet zelf opnieuw op.qr_url: QR-veilige URL; momenteel gelijk aan launch_url.status_url: sessiestatus-endpoint voor server-side polling.401 missing_bearer_token, 401 invalid_api_key403 customer_inactive400 missing_callback_url, invalid_callback_url, callback_host_not_allowed400 field_not_allowed, invalid_field_token, request_too_large409 idempotency_key_conflict, idempotency_key_in_progress429 rate_limit_exceeded, daily_quota_exceeded/v1/sessions/{id}Niet-PII sessiestatus-endpoint voor desktoporkestratie en monitoring.
Authorization: Bearer <api_key>
200-response{
"session_id": "sess_123",
"status": "issued",
"issued_at": 1730000000,
"expires_at": 1730000300,
"last_status": null,
"last_status_at": null,
"opened_at": null,
"result_available": false,
"result_token_expires_at": null
}
Polling is read-only and never marks a session as opened. A completed test-key session also returns a short-lived result_token for the synthetic Postman flow. Live result tokens remain callback-only.
/.well-known/jwks.jsonPublieke signing keyset om callback_jwt op partnerbackends te verifiëren.
200-response{
"keys": [
{
"kty": "RSA",
"kid": "kid_2025_01",
"alg": "RS256",
"use": "sig",
"n": "...",
"e": "AQAB"
}
]
}
/v1/sessions/{id}/resultHaal de geverifieerde result payload server-to-server op met een eenmalige result token.
A launch token starts with h_ and cannot be used here. X-Result-Token requires the short-lived res_ token from a live callback or completed test-key status response.
Authorization: Bearer <api_key>
X-Result-Token: <result_token>
200-response{
"session_id": "sess_123",
"status": "success",
"result": {
"legalName": "Jane Doe",
"over18": "yes"
}
}
401 missing_bearer_token, invalid_api_key, missing_result_token403 customer_mismatch, invalid_result_token410 result_token_expired409 result_token_used404 result_not_available, session_not_foundfields)legalName, dateOfBirth, over18, over21, passport, idCard, documentNumber, documentExpiry, documentCountry, documentNationality
Het resultaat bevat alleen de gevraagde ondersteunde velden die de gebruiker heeft goedgekeurd. Vereisten voor documentsoorten zoals passport en idCard bevatten niet automatisch elk documentattribuut.
Ja. Je backend maakt een sessie met POST /v1/sessions en toont de teruggegeven qr_url als QR op de desktoppagina. De gebruiker scant die QR met de telefoon en Verihop opent de beste beschikbare ervaring.
De beste UX is direct launch: encodeer de teruggegeven qr_url. Dit is dezelfde universele HTTPS-handoff als launch_url en ondersteunt app, lichte ervaring en webfallback.
Gebruik launch_url op Android en voor algemene webhandoff. Een iOS-partnerapp die de native App Clip-kaart wil tonen, opent de teruggegeven app_clip_url. De callback-vorm blijft gelijk: Verihop voegt session_id, op het succespad result_token en optioneel callback_jwt toe.
Maak de sessie op je backend en stuur de teruggegeven app_clip_url naar je iOS-app. Open die URL met SwiftUI Link of UIApplication.open op iOS 17 of nieuwer. Parse launch_url niet, kopieer de token niet en hard-code de App Clip-bundle-ID van Verihop niet. Als de volledige Verihop-app is geïnstalleerd, opent iOS die met behoud van dezelfde sessie.
Gebruik je een custom callback zoals ridenow://verified, dan moet de Android partnerapp een intent filter declareren voor dat scheme en die host. Gebruik je een https:// callback voor desktop- of webgestarte flows, behandel die dan als backend-endpoint tenzij je Android app dat domein bezit met geverifieerde App Links.
Gebruik een https:// callback-endpoint op je backend. Nadat Verihop klaar is, ontvangt je server session_id en result_token, en haalt daarna GET /v1/sessions/{id}/result server-to-server op.
jwt uit POST /v1/sessions verifiëren?Nee. Die token is bedoeld voor Verihop. Partners behandelen deze als opaque transportdata en gebruiken launch_url om Verihop te starten.
Callback-queryparameters zijn alleen transportmetadata. Geverifieerde persoonsgegevens worden bewust niet in callback-URLs meegestuurd. Je backend moet de eenmalige result_token uitwisselen om de result payload veilig op te halen. Indien ingeschakeld kan callback_jwt via JWKS worden geverifieerd voor callback-authenticiteit.
callback_jwt verifiëren, en waar?Ja, op de partnerbackend wanneer aanwezig. Verifieer signature en claims met Verihop JWKS via GET /.well-known/jwks.json. Valideer issuer, audience en expiry en zorg dat JWT-claims overeenkomen met de callback querywaarden.
Nee. Houd API-keys server-side en haal resultaten alleen via je backend op. De frontend/webclient hoort alleen UI te tonen en state door te geven aan je backend session.
Maak een nieuwe sessie wanneer een sessie verloopt of de gebruiker de flow verlaat. result_token is kort geldig en eenmalig te gebruiken; is die gebruikt of verlopen, start dan opnieuw met een nieuwe POST /v1/sessions.
Voorzie een fallbackpagina achter je QR-flow die uitlegt hoe de gebruiker Verihop installeert of opent en daarna doorgaat. Maak na installatie een nieuwe sessie en toon een verse QR-code; hergebruik geen verlopen sessies.
POST /v1/sessions ondersteunt Idempotency-Key voor retry-veilige create-session calls: dezelfde key met dezelfde payload speelt de originele response opnieuw af, terwijl dezelfde key met een andere payload 409 idempotency_key_conflict teruggeeft. Misbruik wordt verder beperkt met API-key auth, callback-allowlistbeleid, field-allowlistchecks, rate limits/quota per klant, korte sessie-TTL en een eenmalige result_token.
Start in testmodus
Use a redacted testaccount, keep credentials on your backend, and move to production only after callback and field controls are approved.
Verificatie van persoonlijke identiteit
Voeg betrouwbare identiteits- en geschiktheidscontroles toe aan klantreizen en beperk tegelijk de gevoelige gegevens die je bedrijf moet verwerken.
Klanten verifiëren op hun telefoon en keuren alleen de informatie goed die nodig is voor je beslissing.
Waarom dit telt
Klanten haken af wanneer verificatie te lang duurt of te veel vraagt. Bedrijven blijven verantwoordelijk voor de gevoelige informatie die ze verzamelen en beschermen.
van de ondervraagde Britse consumenten had een proces voor het openen van een account afgebroken.
FullCircl, State of Identity Verification 2025gemiddelde onboardingtijd in hetzelfde onderzoek — 2,8× langer dan klanten aangaven te willen.
FullCircl, State of Identity Verification 2025van de ondervraagde mensen in Nederland zei nooit online een kopie van hun paspoort, identiteitskaart of rijbewijs te delen.
CBS, 2025meldingen van datalekken werden in 2025 bij de Nederlandse privacytoezichthouder gedaan.
Autoriteit Persoonsgegevens, 2026Met Verihop vraagt je product de goedgekeurde, geverifieerde informatie voor een beslissing op, zonder nog een paspoort- of selfiebestand als resultaat.
Een betere verificatiestroom
Verifieer de persoon, ontvang alleen wat je beslissing nodig heeft en voorkom dat documentkopieën en handmatige beoordeling de standaard worden.
*Typische ondersteunde verificatiestroom. De voltooiingstijd kan variëren per apparaat, document en verbinding.
Waar Verihop past
Soms heb je iemands identiteit nodig. Soms heb je alleen één betrouwbaar antwoord nodig.
Leeftijd & geschiktheid
Vraag een geverifieerd leeftijdsresultaat op zonder een volledige paspoortkopie te ontvangen.
Account- & dienstonboarding
Vraag de geverifieerde identiteitsgegevens op die nodig zijn voor je onboardingbeslissing.
Verhuur & vertrouwde toegang
Verifieer de identiteit voordat je een voertuig, woning, apparatuur of gecontroleerde dienst aanbiedt.
Accountherstel & ondersteuning
Vraag een nieuwe verificatie voor gevoelige ondersteunings- of herstelacties.
Verihop verifieert de informatie. Je bedrijf bepaalt wat die betekent voor de klantreis.
Hoe het werkt
Je product start een Verihop-verificatie voor de goedgekeurde identiteitsinformatie die het nodig heeft.
De klant opent de link of QR-code en voltooit de verificatie op de telefoon.
Na goedkeuring door de klant wordt de geverifieerde informatie veilig aan je systeem teruggegeven.
Verihop verzorgt ondersteunde documentuitlezing, houdercontroles, toestemming, apparaatrouting en veilige resultaatlevering. Je product past daarna de bedrijfsregel toe.
Bouw je de integratie? Bekijk VOOR DEVS →
Customer Portal
Start in testmodus, doorloop de productiegoedkeuring en beheer de live dienst vanuit dezelfde bedrijfsomgeving.
Voer geredigeerde sessies uit en inspecteer vóór productie de volledige overdracht.
Dien je productie-inrichting en goedgekeurde velden ter beoordeling in.
Bewaak gebruik, facturatie, callbacks en sessieactiviteit.
Beheer teamtoegang, MFA, vertrouwde apparaten en auditbewijs.
Developers kunnen aanvragen, callbacks en resultaten testen vanuit de Developer-omgeving. Bekijk VOOR DEVS →
Start met één use case
Neem de klantreis, de beslissing die je moet nemen en de informatie die je nu verzamelt mee. We brengen het kleinste bruikbare verificatieverzoek en een duidelijke testroute in kaart.