DKBSignDocs

API reference

POSTRequires Bearer token

Process a workflow step

/api/workflows/transactions/step/process

Complete the current step. Prefer multipart when uploading imgStamp. actions and data may be JSON strings.

actions is an array of { "action": "<enum>" }. Allowed values: validate, sign, text, date, stamp, qr_code, initials.

data.documents[] places marks (file_id, pages[].page, elements[] with type, value, position, size). validate does not need data.

When sign is included, also send signers_data and signature_params (JSON strings). signature_level is frozen on the instance — clients cannot change it. Optional signature_appearance is a PNG data-URL.

Conditional steps require condition: yes or no.

Path parameters

This endpoint has no path parameters.

Query parameters

This endpoint has no query parameters.

Request body

Send as multipart/form-data.

FieldTypeDescription
transaction_id
Required
integerCurrent step transaction id.
e.g. 44
actions
Required
arrayAt least one { "action": "validate|sign|text|date|stamp|qr_code|initials" }.
e.g. [{"action":"validate"}]
data
objectPlacement payload (documents → pages → elements).
condition
stringyes or no — required on conditional steps.
e.g. "yes"
imgStamp
stringStamp image (png/jpg, max 5 MB) when the user has no stored stamp.
signers_data
stringJSON array of signer metadata. Required when sign is in actions.
signature_params
stringJSON array of per-document zones. Required when sign is in actions.
signature_appearance
stringOptional PNG data-URL (data:image/png;base64,…, max 2M chars).

Responses

StatusMeaning
200See the example response.
401Missing or invalid Bearer token.

Request

curl
curl -X POST 'https://api.dkbsigns.com/api/workflows/transactions/step/process' \
  -H 'Authorization: Bearer $DKBSIGN_TOKEN' \
  -H 'Accept: application/json' \
  -F 'transaction_id=44' \
  -F 'actions=[object Object]' \
  -F 'data={}' \
  -F 'condition=yes' \
  -F 'imgStamp=imgstamp' \
  -F 'signers_data=signers_data' \
  -F 'signature_params=signature_params' \
  -F 'signature_appearance=signature_appearance'

Response 200

json
{
  "status": "success",
  "message": "Current step completed",
  "next_step_activated": true,
  "workflow_completed": false
}