Skip to content

Signers

Signers are the people who need to sign, approve, or view a document. Each signer receives a unique signing link via email.

RoleDescription
signerMust sign the document (default)
viewerReceives a copy but doesn’t sign
approverMust approve the document before signers can sign
GET /api/v1/documents/{id}/signers

Returns all signers on a document, ordered by their signing order.

Required scope: documents.read

Terminal window
curl -X GET https://app.insigner.co/api/v1/documents/cm5x9abc123/signers \
-H "Authorization: Bearer isk_YOUR_API_KEY"

Response

{
"data": [
{
"id": "sr_abc123",
"email": "jane.smith@acme.com",
"name": "Jane Smith",
"role": "signer",
"status": "completed",
"order": 0,
"signedAt": "2026-05-29T14:30:00.000Z",
"createdAt": "2026-05-28T12:00:00.000Z",
"updatedAt": "2026-05-29T14:30:00.000Z"
},
{
"id": "sr_def456",
"email": "john.doe@acme.com",
"name": "John Doe",
"role": "signer",
"status": "pending",
"order": 1,
"signedAt": null,
"createdAt": "2026-05-28T12:00:00.000Z",
"updatedAt": "2026-05-28T12:00:00.000Z"
}
]
}

POST /api/v1/documents/{id}/signers

Adds a signer to a draft document. Maximum 50 signers per document.

Required scope: documents.write

Request body

FieldTypeRequiredDescription
emailstringSigner’s email (max 254 chars)
namestringSigner’s full name (1–200 chars)
rolestring"signer" (default), "viewer", or "approver"
orderintegerSigning order for sequential documents (default: 0)
phonestringPhone number for SMS verification (max 20 chars)
Terminal window
curl -X POST https://app.insigner.co/api/v1/documents/cm5x9abc123/signers \
-H "Authorization: Bearer isk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "jane.smith@acme.com",
"name": "Jane Smith",
"role": "signer",
"order": 0
}'

Response 201 Created

{
"data": {
"id": "sr_abc123",
"email": "jane.smith@acme.com",
"name": "Jane Smith",
"role": "signer",
"status": "pending",
"order": 0,
"createdAt": "2026-05-28T12:00:00.000Z"
}
}

DELETE /api/v1/documents/{id}/signers/{signerId}

Removes a signer from a draft document.

Required scope: documents.write

Terminal window
curl -X DELETE https://app.insigner.co/api/v1/documents/cm5x9abc123/signers/sr_abc123 \
-H "Authorization: Bearer isk_YOUR_API_KEY"

Response: 204 No Content


POST /api/v1/documents/{id}/signers/{signerId}/remind

Sends a reminder email to a pending signer. The document must be in pending or action_required status.

Required scope: documents.send

Terminal window
curl -X POST https://app.insigner.co/api/v1/documents/cm5x9abc123/signers/sr_def456/remind \
-H "Authorization: Bearer isk_YOUR_API_KEY"

Response

{
"data": {
"signerId": "sr_def456",
"email": "john.doe@acme.com",
"reminderSentAt": "2026-05-30T10:00:00.000Z"
}
}