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
}
]
}'