Integrate dVersum into your workflows with our REST API and webhooks.
https://api.dversum.com/api/v1The dVersum API allows you to automate your accounting and project management workflows. You can both receive data (outgoing webhooks) and send data (incoming webhooks).
For step-by-step guides on setting up webhooks with n8n, Zapier and other tools, visit our Help Center.
Receive notifications when events occur in dVersum - perfect for Zapier, n8n or custom systems.
Create tasks, clients and more directly from your other tools.
All API requests must be authenticated with an API key. You receive an API key when you create an incoming webhook.
Go to Settings → Webhooks
Click Incoming Webhooks
Create a new webhook and select the required permissions
Copy the displayed API key
The key is only shown once!
Authorization: Bearer ik_live_your_api_key_herecurl -X POST https://api.dversum.com/api/v1/webhooks/incoming/tasks \
-H "Authorization: Bearer ik_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"project_id": "proj_123", "title": "New Task"}'Outgoing webhooks automatically send HTTP requests to your URL when certain events occur in dVersum.
invoice.createdNew invoice createdinvoice.updatedInvoice updatedinvoice.sentInvoice sentinvoice.paidInvoice paidinvoice.partially_paidPartial payment receivedinvoice.overdueInvoice overdueinvoice.deletedInvoice deletedquote.createdNew quote createdquote.updatedQuote updatedquote.sentQuote sentquote.signedQuote signedquote.rejectedQuote rejectedquote.expiredQuote expiredquote.convertedConverted to invoicequote.deletedQuote deletedclient.createdNew client createdclient.updatedClient updatedclient.deletedClient deletedreminder.sentPayment reminder sentproject.createdNew project createdproject.updatedProject updatedproject.archivedProject archivedproject.deletedProject deletedtask.createdNew task createdtask.updatedTask updatedtask.completedTask completedtask.assignedTask assignedtask.movedTask moved to different columntask.deletedTask deletedsubtask.createdSubtask createdsubtask.completedSubtask completedsubtask.deletedSubtask deletedcomment.createdComment createdtime_entry.createdTime entry createdtime_entry.startedTimer startedtime_entry.stoppedTimer stoppedtime_entry.updatedTime entry updatedtime_entry.deletedTime entry deletedpage.createdNew page createdpage.updatedPage updatedpage.deletedPage deletedabsence.createdAbsence createdabsence.updatedAbsence updatedabsence.deletedAbsence deleted{
"event": "invoice.created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": "inv_abc123",
"invoice_number": "RE-2024-0001",
"client_id": "cli_xyz789",
"total": 1190.00,
"currency": "EUR",
"status": "draft"
}
}Each webhook includes a signature header for verification:
X-Webhook-Signature: sha256=abc123...Incoming webhooks allow external systems to send data to dVersum and perform actions.
tasks:readtasks:createtasks:updatetasks:deleteprojects:readprojects:createprojects:updateprojects:deleteclients:readclients:createclients:updateclients:deletetime_entries:readtime_entries:createtime_entries:updatetime_entries:deleteinvoices:readinvoices:createinvoices:updatequotes:readquotes:createquotes:updateYou can optionally configure an IP whitelist to restrict access to specific IP addresses.
Complete reference of all available API endpoints for incoming webhooks.
The API uses standard HTTP status codes. In case of an error, the response contains additional information.
| Code | Name | Description |
|---|---|---|
| 400 | Bad Request | Invalid request or missing required fields |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | No permission for this action |
| 404 | Not Found | Resource not found |
| 422 | Unprocessable Entity | Validation error |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server error |
{
"error": {
"code": "validation_error",
"message": "The project_id field is required",
"field": "project_id"
}
}To ensure API stability, the following limits apply:
| Type | Limit |
|---|---|
| Outgoing Webhooks | 1,000/hour |
| Incoming Webhooks | 100/minute |
| Total API calls | 10,000/day |
Each response includes headers with information about the current limit status:
X-RateLimit-Limit:Maximum requestsX-RateLimit-Remaining:Remaining requestsX-RateLimit-Reset:Reset time (Unix timestamp)When exceeded
You will receive status code 429 (Too Many Requests). Wait until the limit resets.
Create your first API key now and connect dVersum with your tools.