Koppel Signly aan je eigen software met de API

Automatiseer je ondertekenflow van begin tot eind. Met de Signly API laten ondertekenverzoeken zich automatisch aanmaken, versturen en afronden — rechtstreeks vanuit je eigen systeem. 100% rechtsgeldig en snel te implementeren.

Vraag gratis API-koppeling aan
Bekijk de API-documentatie
Documenten digitaal ondertekenen

Elke organisatie werkt anders. De één stuurt een contract handmatig op ter ondertekening. De ander wil dat een ondertekenverzoek automatisch de deur uitgaat zodra er in het eigen systeem een dossier wordt afgerond. Daarvoor is de Signly API. Je koppelt Signly rechtstreeks aan je eigen software, zoals een CRM, HR-systeem, zorgdossier of maatwerkapplicatie. Ondertekenverzoeken ontstaan, versturen en ronden zichzelf volautomatisch af. Geen kopiëren en plakken en geen handmatige stappen. Jouw proces bepaalt het tempo en Signly regelt de rechtsgeldige handtekening.

Zo automatiseert een zorgorganisatie het versturen van zorgovereenkomsten direct vanuit hun eigen dossiersysteem. Bij elke nieuwe cliënt staat de overeenkomst automatisch klaar ter ondertekening.

Wat kun je met de API?

Alles wat je in de Signly-webapp doet, kan ook via de API. Zo bouw je ondertekenen in als vaste stap in je eigen workflow.

  • Ondertekenverzoeken automatisch aanmaken vanuit je eigen systeem
  • Documenten uploaden en ondertekenaars toevoegen
  • Meerdere verificatiemethodes: e-mail, SMS, DigiD, iDIN, handtekening, paraaf
  • Realtime statusupdates via webhooks
  • Getekend document en rechtsgeldig audit-bewijs ophalen
Document

Aan de slag

Je hebt nodig:

Authenticatie. Stuur je token als Bearer-Api in de Authorization-header bij elke call:

export TOKEN=”jouw_access_token”

De flow in 7 stappen

1. Afdeling ophalen → 2. Verzoek aanmaken → 3. Ondertekenaar toevoegen → 4. Document toevoegen → 5. Verzoek versturen → 6. Status volgen (webhook) → 7. Getekend document en bewijs ophalen

Stap 1: Afdelingen ophalen

Een ondertekenverzoek hoort bij een afdeling. Haal eerst de beschikbare afdelingen op en onthoud de id.

curl -X GET “https://api.signly.nl/api/departments”
  -H “Authorization: Bearer-Api $TOKEN”
  -H “Accept: application/json”

Stap 2: Ondertekenverzoek aanmaken

Alleen department_id is verplicht. De rest is optioneel.

curl -X POST “https://api.signly.nl/api/sign-requests”
  -H “Authorization: Bearer-Api $TOKEN”
  -H “Accept: application/json”
  -H “Content-Type: application/json”
  -d ‘{“department_id”:123,”expires_at”:”2026-12-31 23:59:59″}’

Optionele velden zijn expires_at (Y-m-d H:i:s), emails (maximaal 10 kopie-ontvangers) en is_inline. Uit het antwoord haal je de id van het verzoek. Die noemen we hieronder {signRequestId}.

Stap 3: Ondertekenaar toevoegen

Voeg één of meer ondertekenaars toe. Elke ondertekenaar heeft minimaal één verificatiemethode.

curl -X POST “https://api.signly.nl/api/sign-requests/{signRequestId}/signers”
-H “Authorization: Bearer-Api $TOKEN”
-H “Accept: application/json”
-H “Content-Type: application/json”
-d ‘{“firstname”:”Jan”,”lastname”:”Jansen”,”email”:”jan@voorbeeld.nl”,”verifications”:[{“type”:1,”email”:”jan@voorbeeld.nl”}]}’

De velden firstname, lastname en email zijn verplicht. Optioneel zijn reminder_after en max_reminders (1 tot 5).

type Methode
1 E-mail
2 SMS (vereist phone)
3 DigiD
4 iDIN (vereist services[])
5 Handtekening
6 Paraaf

Stap 4: Document toevoegen

Upload het document als multipart/form-data. Zet Content-Type niet zelf. Curl doet dat bij -F.

curl -X POST “https://api.signly.nl/api/sign-requests/{signRequestId}/signables”
-H “Authorization: Bearer-Api $TOKEN”
-H “Accept: application/json”
-F “name=Overeenkomst”
-F “type=1”
-F “filename=overeenkomst.pdf”
-F “file=@/pad/naar/overeenkomst.pdf”

De velden name en type zijn verplicht (1 is bestand, 2 is tekst). Toegestaan zijn PDF, DOC en DOCX tot 15 MB. Handtekeningvelden plaats je met placeholders in de PDF, bijvoorbeeld [[signer.1.signature]] of [[signer.1.name]]. De schaal loopt van 0.5 tot 3, bijvoorbeeld [[signer.1.signature.x2]].

Stap 5: Verzoek versturen (ready)

curl -X POST “https://api.signly.nl/api/sign-requests/{signRequestId}/ready”
-H “Authorization: Bearer-Api $TOKEN”
-H “Accept: application/json”
-H “Content-Type: application/json”
-d ‘{“add_inline_links”:”false”}’

De ondertekenaars ontvangen nu een uitnodiging. Let op dat je een 402 krijgt bij onvoldoende credits.

Stap 6: Status volgen

Webhooks zijn de aanbevolen manier en staan verderop beschreven. Je kunt ook pollen op de status.

curl -X GET “https://api.signly.nl/api/sign-requests/{signRequestId}”
-H “Authorization: Bearer-Api $TOKEN”
-H “Accept: application/json”

De status staat in het veld state_id.

state_id Betekenis
1 Aangemaakt
2 Klaar of afgerond (DONE)
3 In behandeling
4 Afgewezen
5 Goedgekeurd
6 Geen herinneringen meer
7 Verlopen
8 Geannuleerd
9 Mislukt
60 Afgehandeld door ondertekenaars

De waarden 40, 50 en 51 zijn technische foutstatussen.

Stap 7: Getekend document en bewijs ophalen

Zodra het verzoek is afgerond, haal je het getekende document op.

curl -X GET “https://api.signly.nl/api/signables/{signableId}/file”
-H “Authorization: Bearer-Api $TOKEN”
-o getekend-document.pdf

Daarna haal je het ondertekenbewijs op, de audit trail.

curl -X GET “https://api.signly.nl/api/sign-requests/{signRequestId}/receipt/download”
-H “Authorization: Bearer-Api $TOKEN”
-o onderteken-bewijs.pdf

Let op de AVG-bewaartermijn. Signly bewaart getekende documenten en het bewijs 28 dagen. Daarna worden ze verwijderd. Download ze dus direct naar je eigen systeem.

Verzoeken beheren

Herinnering sturen

curl -X POST “https://api.signly.nl/api/sign-requests/{signRequestId}/remind”
-H “Authorization: Bearer-Api $TOKEN”
-H “Accept: application/json”

Verzoek annuleren

curl -X POST “https://api.signly.nl/api/sign-requests/{signRequestId}/cancel”
-H “Authorization: Bearer-Api $TOKEN”
-H “Accept: application/json”

Webhooks

Met een ingestelde webhook_url stuurt Signly automatisch een POST bij elke gebeurtenis. Signly probeert dit tot 3 keer. Dit is een voorbeeld van de payload.

{
“event_type”: “sign_request_state_updated”,
“company_id”: 123,
“department_id”: 456,
“data”: { “sign_request_id”: 789, “state”: 2 },
“dispatched_at”: “2026-07-16T10:00:00+00:00”
}

De belangrijkste waarden voor event_type zijn:

  • sign_request_state_updated voor een statuswijziging van het verzoek. data.state is de state_id uit de tabel hierboven.
  • email_verification_sent en email_verification_verified
  • sms_verification_sent en sms_verification_verified
  • signature_verification_verified en paraph_verification_verified
  • idin_verification_sent, idin_verification_failed en idin_verification_verified

Bij verificatie-events bevat data de velden verification_id, signer_id en sign_request_id.

Meer weten?

Ook benieuwd naar kant-en-klare koppelingen zonder zelf te bouwen? Bekijk onze integraties.

Digitale handtekening gratis en vrijblijvend uitproberen?

Digitaal ondertekenen via Signly gratis en vrijblijvend uitproberen? Maak een gratis account aan en ontvang direct 10 credits om te starten met digitaal ondertekenen.

Gratis proberen