---
title: "Example 3: Advanced two-round signing"
description: "## **Description** This section provides a practical example of an advanced two-round signing process using the Signatus 2 API. It demonstrates more complex signing scenarios, including additional configuration options and rules that control how the signing workflow is executed across…"
url: "https://wiki.signatus.com/documentation/signatus-2-api/example-3-advanced-two-round-signing/"
updated: "2026-10-09"
category: "Use Cases - Signatus 2"
---

# Example 3: Advanced two-round signing

## **Description**

This section provides a practical example of an advanced two-round signing process using the Signatus 2 API. It demonstrates more complex signing scenarios, including additional configuration options and rules that control how the signing workflow is executed across multiple rounds.

Creates a new envelope with multiple documents and configures signing workflow for multiple signers. The new envelope containing multiple documents with different access methods (write, optional) and different document visibility and method for signers.

The system manages customizable result handling through configurable redirect URLs

Our API-driven process involves four core interactions:

1. **POST /api/envelope**: Programmatically create a new signature envelope, providing document binaries and relevant metadata.
2. **GET /sign/{processId}**: Redirect the signer to our secure, user-friendly signing interface managed by Signatus
3. **GET /api/envelopeData/{envelopeId}**: Securely download the completed envelope, including signed documents
4. **DELETE /api/envelope/{envelopeId}**: Delete downloaded envelope

## Request example

Create envelope dataText :

```
{
	"rules": {
		"resulturl": "https://portal.com"
	},
	"processes": [
		{
			"signer": "client",
			"documents": [
				{
					"reference": "Document1",
					"method": "write",
					"data": {
						"allowedFields": {
							"SIGNATURE": [
								"SC_signature"
							]
						}
					}
				},
				{
					"reference": "Document2",
					"method": "write"
				},
				{
					"reference": "Document3",
					"method": "optional"
				}
			]
		},
		{
			"signer": "approver",
			"documents": [
				{
					"reference": "Document1",
					"method": "write",
					"data": {
						"allowedFields": {
							"SIGNATURE": [
								"SO_signature"
							]
						}
					}
				},
				{
					"reference": "Document2",
					"method": "read"
				}
			]
		}
	]
}
```

 HTTP- Click to view HTTP code snippet

```
POST /app/api/envelope HTTP/1.1
Host: signatus.ana.sk
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJJTGNWSnp4SFkyd1RDcGlLZU5Oa2VmbWZHa1ljUnBtQ1lMMUhsNG13Zm5VIn0.eyJleHAiOjE3NTQwNTE1MjQsImlhdCI6MTc1NDA1MTIyNCwianRpIjoiZmU4MTE5MGItYzFjYS00ODNlLTg3OWEtMmZiYjg3NmQ5ZjQwIiwiaXNzIjoiaHR0cHM6Ly9vYXV0aC5hbmEuc2svcmVhbG1zL1NpZ25hdHVzIiwiYXVkIjoiYWNjb3VudCIsInN1YiI6ImYzYmUxYTY2LTU1M2YtNGFlOC04OTUyLTY3OGQ4NTU2ZDAxYiIsInR5cCI6IkJlYXJlciIsImF6cCI6InNpZ25hdHVzIiwic2lkIjoiNDE0ZTBmN2EtMmU5Yi00YzA5LTkxZjAtMTljZDE2OWI0NWY1IiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyIvKiJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsiUk9MRV9QUk9YWSIsImRlZmF1bHQtcm9sZXMtc2lnbmF0dXMiLCJST0xFX1BPUlRBTCIsIlJPTEVfVVNFUiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicGhvbmUgZ3JvdXBzIHRlbmFudGlkIHByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInRlbmFudGlkIjoiZGVtbyIsIm5hbWUiOiJQYXZvbCBQdW5hIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiZGVtby5hcGkiLCJnaXZlbl9uYW1lIjoiUGF2b2wiLCJmYW1pbHlfbmFtZSI6IlB1bmEiLCJlbWFpbCI6InBhdm9sLnB1bmFAYW5hc29mdC5jb20ifQ.E7_omxQ3a4oBV7H2PDvdaQC7STmZKCNGhf94DtgePruWQUIhLx7DJMa4tUg1JBz7ae4k5Eso-RZ4uZPWPUxrNIgVIYewY1uCZR9gFwyCVeSsvCKAKluhlWryJ3XKdeqTUuhaaNQNZ77WjQ7QqALmMkjb1W-_y68cfzm5AiZBHBxaPzygkK0krDblxu857i9KcvFWJYHBUT_sdaTfdM6dx9zUJdnwa5mmzu4AtuOx66kxq1RjlIJ6JlghHYpjlcWYfDwt3o0B6F0jszPmIB1_l9p6-mvehqa3T8veIxAn9I6ERBG2sJlDLXNMO3GAXDlGr332e4AOFTV2cle38-7n0w
Content-Length: 1360

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="dataText"

{
	"rules": {
		"resulturl": "https://portal.com"
	},
	"processes": [
		{
			"signer": "client",
			"documents": [
				{
					"reference": "Document1",
					"method": "write",
					"data": {
						"allowedFields": {
							"SIGNATURE": [
								"SC_signature"
							]
						}
					}
				},
				{
					"reference": "Document2",
					"method": "write"
				},
				{
					"reference": "Document3",
					"method": "optional"
				}
			]
		},
		{
			"signer": "approver",
			"documents": [
				{
					"reference": "Document1",
					"method": "write",
					"data": {
						"allowedFields": {
							"SIGNATURE": [
								"SO_signature"
							]
						}
					}
				},
				{
					"reference": "Document2",
					"method": "read"
				}
			]
		}
	]
}
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="Document1"; filename="Signatus2-API/Test.pdf"
Content-Type: application/pdf

(data)
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="Document2"; filename="Signatus2-API/Test2.pdf"
Content-Type: application/pdf

(data)
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="Document3"; filename="Signatus2-API/Test3.pdf"
Content-Type: application/pdf

(data)
------WebKitFormBoundary7MA4YWxkTrZu0gW--
```

Create envelope response :

```
{
    "id": "e8caa7af-c888-40c6-9d4f-6bc720cef3bd",
    "userId": "demo.api",
    "state": "ready",
    "envelopetypeid": 4,
    "expirationtime": 1754138216263,
    "extension": {},
    "processes": [
        {
            "id": "4b4bc6ae-54e0-49e1-ac50-31a39f85ee0d",
            "userId": "demo.api",
            "envelopeid": "e8caa7af-c888-40c6-9d4f-6bc720cef3bd",
            "signer": "client",
            "state": "ready",
            "extension": {},
            "sigtype": "bio",
            "envelopetypeid": 4,
            "tenant": "demo",
            "rules": {}
        },
        {
            "id": "7ae10c44-9120-4550-9955-61f08759c6df",
            "userId": "demo.api",
            "envelopeid": "e8caa7af-c888-40c6-9d4f-6bc720cef3bd",
            "signer": "approver",
            "state": "ready",
            "extension": {},
            "sigtype": "bio",
            "envelopetypeid": 4,
            "tenant": "demo",
            "rules": {}
        }
    ],
    "type": "inbox",
    "product": [],
    "contact": {},
    "tenant": "demo",
    "rules": {
        "resulturl": "https://portal.com"
    }
}
```

## Sequence diagram

This sequence diagram illustrates the interaction between a Portal (initiating system), Signatus2, and a Signer (the end-user) during the process of creating, signing, and retrieving signed envelope.

Where :

- envelopeId = response.id
- processId-1 = response.processes[0].id
- processId-2 = response.processes[1].id

![](https://wiki.signatus.com/wp-content/uploads/2025/08/example3.png)
