Workflows
Create a workflow and its first draft version
Authorization
bearerAuth AuthorizationBearer <token>
API key as Bearer token. Format: signsecure_xxxxxxxx...
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/workflows" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "config": { "documents": [ { "templateId": "string", "label": "string" } ], "participants": [ { "key": "string", "label": "string", "order": 1 } ] } }'{
"definition": {
"id": "string",
"organizationId": "string",
"name": "string",
"description": "string",
"status": "draft",
"ownerId": "string",
"custodianUserId": "string",
"latestPublishedVersion": 1,
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
},
"version": {
"id": "string",
"workflowDefinitionId": "string",
"version": 1,
"status": "draft",
"config": {
"documents": [
{
"templateId": "string",
"label": "string",
"required": true
}
],
"participants": [
{
"key": "string",
"label": "string",
"role": "signer",
"order": 1,
"signatureMethod": "dsc_usb",
"verificationMethod": "link_only",
"required": true
}
],
"execution": {
"mode": "sequential",
"verificationMethod": "link_only",
"expiresInDays": 1,
"reminderEveryHours": 1,
"message": "string",
"redirectUrl": "http://example.com",
"emailNotifications": "all",
"whatsappNotifications": "all",
"estampEnabled": false,
"estampConfig": {
"state": "CH",
"article": "string",
"amount": "string",
"considerationAmount": "string",
"payee": "first-party",
"hardcopy": "y",
"firstParty": {
"name": "string",
"email": "user@example.com",
"mobile": "string",
"address": "string"
},
"secondParty": {
"name": "string",
"email": "user@example.com",
"mobile": "string",
"address": "string"
},
"shipping": {
"name": "string",
"address": "string",
"city": "string",
"state": "string",
"pincode": "string",
"mobile": "string"
}
},
"requireFinalSenderConfirmation": false
},
"approvalStages": [],
"allowedOverrides": []
},
"createdById": "string",
"publishedById": "string",
"publishedAt": "2019-08-24T14:15:22Z",
"createdAt": "2019-08-24T14:15:22Z",
"updatedAt": "2019-08-24T14:15:22Z"
}
}{
"code": "string",
"message": "string",
"details": {},
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}{
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}{
"code": "FORBIDDEN",
"message": "API key is disabled",
"requestId": "req_abc123",
"timestamp": "2026-03-11T10:30:00.000Z"
}Update Template PATCH
Update template metadata, recipients, fields, workflow, or status. Set status to archived to prevent new uses, or active to restore it. Arrays replace the stored configuration. Supply at least one property. Existing field assignments must remain valid when recipients change. Requires templates:write and template ownership; workspace keys also require templates.manage.
Get a workflow and all versions GET
Next Page