Skip to main content

Signer Workflow Types

covosign supports flexible signer workflows, including single-signer, parallel multi-signer, and sequential multi-signer workflows. Workflows define the execution order and coordination of signature collection from one or more recipients.

Single Signer Workflow

The simplest workflow sending a document to one recipient for signature.

Process Flow

Upload Document → Add Recipient → Place Fields → Create Request → Send → Sign → Complete

{
"title": "Employment Agreement",
"recipients": [
{
"email": "employee@company.com",
"name": "John Smith",
"role": "SIGNER",
"order": 1
}
]
}

Multi-Signer Workflows

Handle multiple recipients either simultaneously (Parallel) or in a specific order (Sequential) with automatic notifications and deadlines.

Parallel Workflow

All recipients are notified simultaneously and can sign in any order.

Parallel Flow Diagram

Send Request → All signers notified simultaneously → Any order signing → All Complete

  • Signing Order: Uniform order values
  • Notification: Immediate broadcast
  • Completion: All signatures collected

Configuration

Set the same order (e.g., 1) for all recipients.

"recipients": [
{
"email": "cfo@company.com",
"name": "CFO",
"order": 1
},
{
"email": "legal@company.com",
"name": "Legal",
"order": 1
},
{
"email": "ceo@company.com",
"name": "CEO",
"order": 1
}
]

Sequential Workflow

Recipients are notified and must sign in a strict specific order (e.g., Employee → Manager → HR).

Sequential Flow Diagram

Send Request → Signer 1 signs → Notify Signer 2 → Signer 2 signs → Notify Signer 3 → Signer 3 signs → Complete

  • Signing Order: Escalating order values
  • Notification: Cascading upon completion
  • Completion: Terminal recipient signs

Configuration

Increment order (1, 2, 3...) for each step.

"recipients": [
{
"email": "manager@company.com",
"name": "Manager",
"order": 1
},
{
"email": "director@company.com",
"name": "Director",
"order": 2
},
{
"email": "ceo@company.com",
"name": "CEO",
"order": 3
}
]

End-to-End API Examples

Complete API sequences for common signing workflows.

Example 1: Single Signer with Coordinate Fields

Use this when you have a fixed-layout PDF and know the exact field positions.

Step 1 — Create request

curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests" \
-H "X-API-Key: csk_live_..." \
-F "documentFile=@contract.pdf" \
-F "title=Service Agreement 2026"

Step 2 — Add recipient

curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests/{requestId}/recipients" \
-H "X-API-Key: csk_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "john.doe@client.com",
"name": "John Doe",
"signingOrder": 1
}'

Step 3 — Place fields with coordinates

curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests/{requestId}/fields" \
-H "X-API-Key: csk_live_..." \
-H "Content-Type: application/json" \
-d '{
"fields": [
{
"type": "SIGNATURE",
"recipientId": "{recipientId}",
"page": 1,
"x": 100,
"y": 650,
"width": 200,
"height": 50,
"name": "Client Signature"
},
{
"type": "DATE",
"recipientId": "{recipientId}",
"page": 1,
"x": 320,
"y": 650,
"width": 120,
"height": 30,
"name": "Date Signed"
}
]
}'

Step 4 — Send

curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests/{requestId}/send" \
-H "X-API-Key: csk_live_..."

Example 4: Sequential Multi-Signer with Anchors

A contract that requires approval from Manager, then Director, then CEO.

Add sequential recipients

# Manager
curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests/{requestId}/recipients" \
-H "X-API-Key: csk_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "manager@company.com",
"name": "Manager Name",
"signingOrder": 1
}'

# Director
curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests/{requestId}/recipients" \
-H "X-API-Key: csk_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "director@company.com",
"name": "Director Name",
"signingOrder": 2
}'

# CEO
curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests/{requestId}/recipients" \
-H "X-API-Key: csk_live_..." \
-H "Content-Type: application/json" \
-d '{
"email": "ceo@company.com",
"name": "CEO Name",
"signingOrder": 3
}'

Place fields for each signer

curl -X POST "https://api.covosign.com/api/v1/enterprise/signature-requests/{requestId}/fields/anchored" \
-H "X-API-Key: csk_live_..." \
-H "Content-Type: application/json" \
-d '{
"fields": [
{
"anchorKey": "{{covosign:manager-signature}}",
"type": "SIGNATURE",
"recipientId": "{managerId}",
"width": 200,
"height": 50
},
{
"anchorKey": "{{covosign:director-signature}}",
"type": "SIGNATURE",
"recipientId": "{directorId}",
"width": 200,
"height": 50
},
{
"anchorKey": "{{covosign:ceo-signature}}",
"type": "SIGNATURE",
"recipientId": "{ceoId}",
"width": 200,
"height": 50
}
]
}'