Get started
Pagination and async jobs
List endpoints accept page parameters. Long-running imports and AI jobs return 202 — poll until they finish.
Pagination
The gateway forwards query strings unchanged. Each service uses its own list convention:
| Area | Query |
|---|---|
| Contacts | q, source, visibility, scope, limit (1–200), offset |
| Company users / colleagues | page, per_page, search, dates, sort_by |
| Workflows | page, search |
| Signed documents | page, per_page (max 100), status, batch_id |
| EDM documents / search | folder_id, typology_id, status, tag, q, limit, offset |
| Audit events | category, outcome, q, date_from, date_to, limit, offset |
| Verification history | verdict, document_sha256, date_from, date_to, page, page_size |
The pagination envelope (data, meta, links, or a bare array plus limit/offset) is defined by each upstream. Read the fields you need and ignore the rest.
Async jobs
Some writes accept a file or a heavy analysis and return 202 with a job id. Poll the matching GET until the job completes.
- Contacts CSV / LDAP / Google / Outlook import →
202 { "job_id" }thenGET /api/contacts/imports/{job_id}(queued→running→done/failed) - AI analyze / zones / risk-review with
async=true→GET /api/ai/jobs/{job_id} - AI document ingest →
GET /api/ai/documents/{id}/status - EDM export →
GET /api/edm/export/{job_id} - LDAP user import / sync →
202thenGET /api/companies/{company}/ldap/import/latestor.../sync/latest(pending→processing→completed/failed) - Notifications SMS / email → 202 accepted-for-delivery (no poll URL)
- Public identity enroll → 202 pending with a 30-minute SLA
http
POST /api/contacts/imports/csv
Authorization: Bearer $DKBSIGN_TOKEN
→ 202 { "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }