Sign

Create a signing request (server-to-server)

HTTP Basic. Provide the document one of three ways - inline document (base64), an allow-listed documentRef, or a bare hash (only for format:"raw"). Container formats (pades/asice/adoc) require exactly one of document or documentRef. PAdES accepts an unsigned or already-signed PDF; ASiC-E/ADOC accept either a PDF (Tvarka constructs a new single-payload container) or an existing valid container, which is treated as an opaque whole and receives one additional signature without payload or attachment edits. Physical requests return a client token; NFC returns a pairing hint.

post/sign/requests

Request

  • Base URL: https://atk.tvarka.pro/v1
  • URL: https://atk.tvarka.pro/v1/sign/requests
  • Auth: HTTP basic

Request body

OR
OR

Example request

{
  "method": "physical"
}

Response

Request created; awaiting the ATK client authorization.

requestIdstring uuid required
method'physical' | 'nfc' required

physical = desktop reader; nfc = phone tap.

verificationCodestring required

NFC anti-relay confirmation code.

clientTokenstring
status'pending' | 'awaitingCard' | 'awaitingCredentials' | 'finalizing' | 'done' | 'cancelled' | 'timeout' | 'deviceError' | 'pinBlocked' | 'cardRemoved' | 'certInvalid' required

Non-terminal - pending/awaitingCard/awaitingCredentials/finalizing. Terminal success - done. Terminal failure - cancelled/timeout/deviceError/pinBlocked/cardRemoved/certInvalid. Validation failure is on the validation axis, NOT here.

expiresAtstring date-time required

Example response

{
  "method": "physical",
  "pairing": {
    "pairingUrl": "https://sign.tvarka.pro/atk-login/#PAIRING_TOKEN",
    "deepLink": "tvarkasign://atk/pair/PAIRING_TOKEN",
    "qrPayload": "https://sign.tvarka.pro/atk-login/#PAIRING_TOKEN"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.