Developer API
Gebruik de publieke /api/v1 API om documenten aan te maken voor ondertekening via DebiSign.
Snel naar een onderdeel
Authenticatie
Alle publieke endpoints starten met /api/v1 en vereisen een API-key in de header X-Api-Key.
Base URL: https://your-domain.example.com/api/v1
Header: X-Api-Key: your-api-key
Requests zonder API-key of met een ongeldige API-key worden geweigerd met 401 Unauthorized.
Configuratie endpoints
Gebruik deze read-only endpoints om de ID's op te halen die nodig kunnen zijn bij het aanmaken van documenten.
| Endpoint | Beschrijving |
|---|---|
GET/api/v1/config/devices |
Geeft de beschikbare devices van de company terug. |
GET/api/v1/config/users |
Geeft gebruikers terug met enkel publieke velden zoals ID, naam, e-mailadres en status. |
GET/api/v1/config/emailtemplates |
Geeft e-mailtemplates terug zonder template-inhoud of interne configuratie. |
GET /api/v1/config/devices
[
{
"Id": "33333333-3333-3333-3333-333333333333",
"Name": "Front desk",
"Receiver": "DEVICE1"
}
]
GET /api/v1/config/users
[
{
"Id": "22222222-2222-2222-2222-222222222222",
"DisplayName": "Jane Doe",
"Email": "jane.doe@example.com"
}
]
GET /api/v1/config/emailtemplates
[
{
"Id": "11111111-1111-1111-1111-111111111111",
"Name": "Document to sign"
}
]
Document endpoints
Documenten oplijsten
Geeft documenten terug die gekoppeld zijn aan de company van de API-key.
GET /api/v1/documents?isSigned=false&dtStartDate=2026-01-01&dtEndDate=2026-01-31&page=1&pageSize=50
| Filter | Type | Opmerking |
|---|---|---|
isSigned |
boolean | Optioneel. Filter op ondertekend of niet ondertekend. |
dtStartDate |
date | Optioneel. Startdatum voor de creatiedatum. |
dtEndDate |
date | Optioneel. Einddatum voor de creatiedatum. |
page |
integer | Optioneel. Standaard 1. |
pageSize |
integer | Optioneel. Standaard 50, maximum 100. |
{
"Documents": [
{
"Id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"ExternalReference": "ERP-2026-0001",
"Name": "contract.pdf",
"CreatedAt": "2026-01-10T09:30:00",
"IsSigned": false,
"SignedAt": null
}
],
"Page": 1,
"PageSize": 50
}
Document aanmaken
Maakt een nieuw PDF-document aan. Als RecipientEmail en ID_TEMPLATE_TO_SIGN ingevuld zijn, wordt meteen de e-mail voor ondertekening verzonden. ID_TEMPLATE_SIGNED wordt gebruikt voor de e-mail na ondertekening.
POST /api/v1/documents
Content-Type: application/json
X-Api-Key: your-api-key
{
"ExternalReference": "ERP-2026-0001",
"Name": "contract.pdf",
"PdfBase64": "JVBERi0xLjQK...",
"UserId": "22222222-2222-2222-2222-222222222222",
"DeviceId": "33333333-3333-3333-3333-333333333333",
"ID_TEMPLATE_TO_SIGN": "44444444-4444-4444-4444-444444444444",
"ID_TEMPLATE_SIGNED": "55555555-5555-5555-5555-555555555555",
"RecipientName": "Jane Doe",
"RecipientEmail": "jane.doe@example.com",
"RecipientLanguage": "N",
"CallbackUrl": "https://example.com/debisign/callback"
}
| Veld | Verplicht | Beschrijving |
|---|---|---|
Name |
Ja | Bestandsnaam of documentnaam. |
PdfBase64 |
Ja | Base64-inhoud van een geldig PDF-bestand. Een data-URL prefix wordt ook aanvaard. |
ExternalReference |
Nee | Eigen referentie uit het externe pakket. |
UserId |
Nee | ID van een gebruiker binnen dezelfde company. |
DeviceId |
Nee | ID van een device binnen dezelfde company. |
ID_TEMPLATE_TO_SIGN |
Nee | E-mailtemplate voor de uitnodiging tot ondertekening. Vereist samen met RecipientEmail om bij creatie een mail te verzenden. |
ID_TEMPLATE_SIGNED |
Nee | E-mailtemplate voor de mail nadat het document ondertekend is. |
EmailTemplateId |
Nee | Alias voor ID_TEMPLATE_TO_SIGN. |
RecipientEmail |
Nee | Moet een geldig e-mailadres zijn wanneer ingevuld. |
RecipientName |
Nee | Naam van de ontvanger. |
RecipientLanguage |
Nee | Taalcode voor de ontvanger. Gebruik dezelfde codes als intern: N voor Nederlands, F voor Frans en E voor Engels. |
CallbackUrl |
Nee | Wordt gevalideerd indien meegestuurd, maar de effectieve callback URL wordt centraal ingesteld via /Settings/API en niet per document opgeslagen. |
{
"Id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"ExternalReference": "ERP-2026-0001",
"Status": "created",
"CreatedAt": "2026-01-10T09:30:00",
"SignUrl": "https://your-domain.example.com/Sign/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
}
Documentdetails opvragen
GET /api/v1/documents/{id}
{
"Id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"ExternalReference": "ERP-2026-0001",
"Name": "contract.pdf",
"CreatedAt": "2026-01-10T09:30:00",
"IsSigned": false,
"SignedAt": null,
"PdfUrl": "/api/v1/documents/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/pdf",
"SignUrl": "https://your-domain.example.com/Sign/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
}
PDF downloaden
GET /api/v1/documents/{id}/pdf
Geeft enkel de PDF-inhoud terug met content type application/pdf. Documenten van een andere company geven 404 Not Found terug.
CallbackUrl
De effectieve callback URL wordt ingesteld per company via /Settings/API. Wanneer een document ondertekend wordt, verstuurt DebiSign een document.signed notificatie naar deze publieke HTTPS-url. Lokale adressen, loopback-adressen en private IP-ranges worden geweigerd.
{
"event": "document.signed",
"documentId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"externalReference": "ERP-2026-0001",
"signedAt": "2026-01-10T10:15:00",
"pdfUrl": "https://your-domain.example.com/api/v1/documents/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/pdf",
"signUrl": "https://your-domain.example.com/Sign/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
}
Error responses
| Status | Wanneer |
|---|---|
400 Bad Request |
Ongeldige input, bijvoorbeeld ontbrekende Name, ongeldige PdfBase64, ongeldig e-mailadres of een ID die niet bij de company hoort. |
401 Unauthorized |
Ontbrekende of ongeldige API-key. |
404 Not Found |
Document niet gevonden, of niet toegankelijk voor de company van de API-key. |
500 Internal Server Error |
Onverwachte serverfout. |
{
"Message": "RecipientEmail bevat geen geldig e-mailadres."
}
Security
- Bewaar API-keys nooit in client-side code of publieke repositories.
- Gebruik altijd HTTPS.
- Alle configuratie- en documentgegevens zijn company-scoped op basis van de API-key.
Support
Contacteer DebiSign via dev@debisign.be met de gebruikte endpoint, timestamp, request-ID indien beschikbaar en een korte omschrijving van het probleem.