{ "opencollection": "1.0.0", "info": { "name": "Tvarka Atk Sign API", "version": "1.3.0" }, "request": { "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "items": [ { "info": { "name": "Sign", "type": "folder" }, "items": [ { "info": { "name": "Create a signing request (server-to-server)", "type": "http" }, "http": { "method": "POST", "url": "https://atk.tvarka.pro/v1/sign/requests", "body": { "type": "json", "data": "{}" }, "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "HTTP Basic. Provide the document one of three ways - inline `document` (base64), an allow-listed\n`documentRef`, or a bare `hash` (only for `format:\"raw\"`). Container formats\n(pades/asice/adoc) require exactly one of `document` or `documentRef`. PAdES accepts an unsigned\nor already-signed PDF; ASiC-E/ADOC accept either a PDF (Tvarka constructs a new single-payload\ncontainer) or an existing valid container, which is treated as an opaque whole and receives one\nadditional signature without payload o" }, { "info": { "name": "Submit the card's signing certificate; receive the DTBS", "type": "http" }, "http": { "method": "POST", "url": "https://atk.tvarka.pro/v1/sign/:requestId/certificate", "params": [ { "name": "requestId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Bearer clientToken. The API validates the certificate (chain, revocation, purpose =\nsigning/content-commitment, qualified/QSCD evidence), prepares the format-specific DTBS (for\nPAdES - the SHA-256 CAdES SignedAttributes digest; SHA-256 for both key curves), and returns\nit + `operationToken`. Physical/NFC only.\n" }, { "info": { "name": "Submit the raw card signature; assemble the container", "type": "http" }, "http": { "method": "POST", "url": "https://atk.tvarka.pro/v1/sign/:requestId/complete", "params": [ { "name": "requestId", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Bearer clientToken + single-use `operationToken`. Synchronous: the API verifies the signature\nagainst the stored DTBS + cert, assembles + timestamps the AdES container inline, schedules\nasync validation, and returns `200 done` with `validation:{status:\"pending\"}` (or\n`notApplicable` in sandbox/raw, or the internal ADOC verdict). `finalizing` is observable via\nGET only if a crash wedges the request until the reaper releases it. Retry-safe; a transient\nassembly failure returns a retryable 5xx with" }, { "info": { "name": "Poll status + validation axis; fetch the result", "type": "http" }, "http": { "method": "GET", "url": "https://atk.tvarka.pro/v1/sign/:requestId", "params": [ { "name": "requestId", "value": "", "type": "path" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Poll status + validation axis; fetch the result" }, { "info": { "name": "Download the signed container", "type": "http" }, "http": { "method": "GET", "url": "https://atk.tvarka.pro/v1/sign/:requestId/document", "params": [ { "name": "requestId", "value": "", "type": "path" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Authorized by the provider's Basic credentials or a `downloadToken` query param." }, { "info": { "name": "Cancel a non-terminal request", "type": "http" }, "http": { "method": "POST", "url": "https://atk.tvarka.pro/v1/sign/:requestId/cancel", "params": [ { "name": "requestId", "value": "", "type": "path" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Cancel a non-terminal request" }, { "info": { "name": "Rotate and return the NFC pairing token for a sign request", "type": "http" }, "http": { "method": "GET", "url": "https://atk.tvarka.pro/v1/sign/:requestId/pairing", "params": [ { "name": "requestId", "value": "", "type": "path" } ], "auth": { "type": "basic", "username": "{{username}}", "password": "{{password}}" } }, "docs": "Rotate and return the NFC pairing token for a sign request" }, { "info": { "name": "Atomically claim an auth or sign NFC pairing", "type": "http" }, "http": { "method": "POST", "url": "https://atk.tvarka.pro/v1/pairing/claim", "body": { "type": "json", "data": "{}" } }, "docs": "Atomically claim an auth or sign NFC pairing" } ] } ], "bundled": true }