DKBSignDocs

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:

AreaQuery
Contactsq, source, visibility, scope, limit (1–200), offset
Company users / colleaguespage, per_page, search, dates, sort_by
Workflowspage, search
Signed documentspage, per_page (max 100), status, batch_id
EDM documents / searchfolder_id, typology_id, status, tag, q, limit, offset
Audit eventscategory, outcome, q, date_from, date_to, limit, offset
Verification historyverdict, 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" } then GET /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 → 202 then GET /api/companies/{company}/ldap/import/latest or .../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" }

Webhooks