Asynchronous mode provides more transparency about background processing and shorter API response times. The sequence of operations is the same as the classic workflow, but when creating the signature request you set useasync=true and provide a callback URL. The API returns quickly; processing continues on the server, and status changes can be sent to your webhook.
Total processing time is the same as in the classic flow; only the way the client waits for completion changes (via webhook instead of a long-running sign call response).
When calling Create (Create Request, POST /oneshot/api/v1/create), add:
useasync=truecallback=https://your-server.com/your-webhook-path
The callback URL receives HTTP POST notifications at each request status change. The definitive webhook URL for production must be set in your Registration Authority (RA) by the Operations Department; the parameter in the API is especially useful for testing.
Retrieve an existing token for the RAO — List Tokens (
GET /oneshot/api/v1/tokens).Create a new digital signature request (async) — Create (
POST /oneshot/api/v1/create) with the same form fields as classic, plususeasync=trueandcallback=<url>. Response includesasyncmode: trueand requestpk.Upload documents — Upload Document (
POST /oneshot/api/v1/document/{request_pk}).Retrieve service contract — Get Request Contract (
GET /oneshot/api/v1/contract/{request_pk}).Generate OTP (Uanataca SMS only) — Generate OTP (
POST /oneshot/api/v1/otp/{request_pk}).Sign the document — Sign (
POST /oneshot/api/v1/sign/{request_pk}) with OTP or other auth. The API may return quickly with a message such as "Your documents are going to be signed"; completion is reflected in webhook payloads.Retrieve signed documents — After the webhook or status indicates completion, call Get Document (
GET /oneshot/api/v1/document/{request_pk}/{document_uid}?document_type=signed) for each document.Delete documents from the Optimizer — Delete Document (
DELETE /oneshot/api/v1/document/{request_pk}/{document_uid}) when no longer needed.
Each status change triggers an HTTP POST to your callback URL with a JSON body. Fields include status (current status), date, previous_status, request (request id), registration_authority, and others. See Webhook configuration for the exact structure and sample code.
- Classic workflow — Same steps without async
- Webhooks — Callback URL and payload format
- API reference