Verstuur contracten vanuit je eigen app.
Tenora's OAuth2-API laat externe applicaties — havenbeheersystemen, verhuurplatformen, makelaarssoftware — namens hun klanten contracten versturen voor digitale ondertekening. In tien minuten gekoppeld.
Hoe het werkt
Registreer je app
Login op Tenora en maak in /landlord/developer een OAuth-client aan. Je krijgt eenmalig een client_id en client_secret.
Plaats een Verbind-knop
Stuur je gebruiker naar /oauth/authorize. Hij of zij keurt jouw app goed op een door Tenora-gehoste consent-pagina.
Wissel code voor token
Op je redirect_uri krijg je een code, die je via /api/oauth/token omruilt voor een access_token (1u) en refresh_token (90d).
Verstuur en luister
POST /api/integrations/v1/contracts om te versturen, en ontvang webhooks zodra een contract verstuurd, bekeken of ondertekend is.
Eén POST verstuurt een contract.
Upload een eigen PDF of render een Tenora-template met variabelen. De ontvanger krijgt een mail met een unieke tekening-link; jouw applicatie hoort het via webhook zodra het ondertekend is.
- Templates of eigen PDF — jouw keuze
- Webhooks ondertekend met HMAC-SHA256
- Refresh-token rotatie volgens RFC 6749
- PKCE verplicht voor elke client
- Geen gebruiker? prefill_email start een magic-link bootstrap
curl -X POST https://app.tenora.nl/api/integrations/v1/contracts \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"templateId": "ct_abc123",
"sharedVariables": {
"adres": "Havenkade 12",
"huurprijs": "€ 950"
},
"recipients": [
{ "name": "Jan de Vries",
"email": "jan@example.org" }
],
"deadline": "2026-06-15T00:00:00Z"
}'Voor wie?
Marina & haven-software
Stuur ligplaatscontracten elk seizoen automatisch opnieuw uit naar al je leden.
Vakantieparken en campings
Jaarlijkse verlengingen van staan- en chaletcontracten, met één klik vanuit het CRM.
Volkstuin- en sportverenigingen
Lidmaatschapsovereenkomsten en huurcontracten ondertekenen zonder pen en papier.
Garagebox- en opslagverhuur
Korte huurcontracten met dynamische looptijden, gerenderd uit je eigen tariefdata.
Makelaars en verhuurplatformen
Voeg juridisch geldige ondertekening toe aan je bestaande huurder-flow.
Interne tooling
Eigen scripts of admin-panels die uit jouw database direct getekende contracten genereren.
Prijs voor partners
Geen aparte API-abonnementen of platformkosten. Je gebruikt het abonnement van de eindgebruiker — als de gebruiker een actief Tenora-abonnement heeft, kan jouw app onbeperkt namens hem of haar contracten versturen.
Zonder abonnement geldt het standaard gratis quotum (2 contracten/maand). Bij overschrijding krijgt jouw app een 402 Payment Required response inclusief een upgrade-URL die je rechtstreeks kunt tonen aan de gebruiker.
Veelgestelde vragen
Welke authenticatie gebruikt Tenora?
OAuth2 authorization_code grant met PKCE (S256). Werkt zowel voor server-side clients met een client_secret als voor browser- en mobiele apps zonder secret.
Hoe vaak moet ik refreshen?
Access tokens leven 1 uur, refresh tokens 90 dagen. Elke refresh rotates: de oude refresh_token wordt onmiddellijk ongeldig. Hergebruik van een verbruikte refresh_token revoked alle tokens van die consent (RFC 6749 §10.5).
Kan ik mijn eigen PDF versturen of moet ik Tenora-templates gebruiken?
Beide. Stuur een document via base64 of een publieke URL, of laat Tenora een eigen template renderen met variabelen die je per ontvanger meegeeft.
Hoe verifieer ik webhook-signatures?
HMAC-SHA256 over `<timestamp>.<body>` met de signing secret die je krijgt bij endpoint-registratie. Een Node voorbeeldsnippet staat in OAUTH.md §8.3.
Wat als de gebruiker geen Tenora-account heeft?
Geef `prefill_email` mee in de authorize-URL. Tenora stuurt dan een magic-link die de gebruiker terugleidt naar de consent-flow, en maakt automatisch een sluimerend landlord-account aan.
Is dit betaald?
Nee. Partners betalen niets voor de API. Eindgebruikers gebruiken hun bestaande Tenora-abonnement (of het gratis quotum). Bij overschrijding krijg je een 402 met een upgrade_url die je in jouw UI kunt tonen.