Garrigues Signature Manager - Participants Operations
Contents
Introduction
This section covers all operations related to managing participants for a signature request. There are three participant profiles: signatories (who sign), validators (who validate a signature process before the signatory is notified), and observers (who receive documentation but cannot perform any action).
Validator-specific operations are documented in the Validators operations section.
Operations
Bulk add or remove participants
This endpoint assigns participants (signatories and observers) to documents within a signature request or removes them in bulk. Validator use cases are covered in the Validators operations section.
HTTP Request
PATCH /api/v1/private/signature-requests/{signatureRequestId}/documents
With the following information provided as JSON:
Example Request Body
{
"documents": [
{
"documentId": "2b066f42-8e65-4c6f-8253-ad6ded8ae436",
"signatories": [
{
"email": "signatory@example.com",
"name": "Signatory Name",
"surnames": "Signatory Surnames",
"phone": "123456789",
"sequence": 1,
"uniqueValidator": false,
"coordinates": [
{
"x": 100.5,
"y": 200.75,
"page": 1
}
]
}
],
"observers": [
{
"email": "observer@example.com",
"name": "Observer Name",
"surnames": "Observer Surnames"
}
],
"operationType": "ADD"
}
]
}
Where
| Parameter | Mandatory | Datatype | Description |
|---|---|---|---|
| documents | Yes | array of objects | List of document participant objects. |
| documents[].documentId | Yes | string (UUID) | Identifier of the document. |
| documents[].operationType | Yes | string | Operation to perform. Possible values: ADD, DELETE. |
| documents[].signatories | No | array of objects | List of signatory participants to add/remove. |
| documents[].observers | No | array of objects | List of observer participants to add/remove. |
| documents[].emails | No | array of string (email) | List of participant emails to add or delete in bulk. |
| signatories[].email | Yes | string (email) | Signatory email address. |
| signatories[].name | Yes | string | Signatory name. |
| signatories[].surnames | No | string | Signatory surnames. |
| signatories[].phone | No | string | Signatory phone number. |
| signatories[].sequence | No | integer | Sequence number for phased signing. |
| signatories[].uniqueValidator | No | boolean | If true, a single validator approval is enough for this signatory. |
| signatories[].coordinates | No | array of objects | Signature coordinates for the signatory. |
Error: 400 Bad request | 422 Signature request status should be draft or participant not in document or observer existing in this document | 500 Unexpected error
Bulk edit participants (v2)
This endpoint edits participants in bulk using patch operations.
HTTP Request
PATCH /api/v1/private/signature-requests/{signatureRequestId}/bulkedit/v2
Example Request Body
{
"participants": [
{
"where": {
"email": "signatory@example.com",
"documentId": "2b066f42-8e65-4c6f-8253-ad6ded8ae436",
"sequence": 1
},
"patch": [
{
"operation": "REPLACE",
"path": "/name",
"value": "Updated Name"
},
{
"operation": "REPLACE",
"path": "/sequence",
"value": 2
},
{
"operation": "REPLACE",
"path": "/coordinates/0/x",
"value": 120.0
}
]
}
]
}
Where
| Parameter | Mandatory | Datatype | Description |
|---|---|---|---|
| participants | Yes | array of objects | List of bulk edit operations. |
| participants[].where | Yes | object | Search criteria: email, documentId, sequence. |
| participants[].patch | Yes | array of objects | Patch operations. Operations: REPLACE, REMOVE. |
| participants[].patch[].path | Yes | string | Editable paths include: /name, /surnames, /email, /phone, /sequence, /uniqueValidator, /coordinates/*/x, /coordinates/*/y, /coordinates/*/page. |
Fields that cannot be edited: identifiers, statuses, and date fields.
Error: 400 Bad request | 422 Signature request status should be draft | 500 Unexpected error
Bulk edit editable participants
This endpoint edits editable participants using patch operations and a role filter.
HTTP Request
PATCH /api/v1/private/signature-requests/{signatureRequestId}/bulkedit/editable-participants
Example Request Body
{
"participants": [
{
"where": {
"email": "observer@example.com",
"role": "OBSERVER"
},
"patch": [
{
"operation": "REPLACE",
"path": "/name",
"value": "Updated Observer"
}
]
}
]
}
Where
| Parameter | Mandatory | Datatype | Description |
|---|---|---|---|
| participants | Yes | array of objects | List of bulk edit operations. |
| participants[].where.email | Yes | string (email) | Email of the participant to edit. |
| participants[].where.role | Yes | string | Role of the participant. Possible values: SIGNATORY, VALIDATOR, OBSERVER. |
| participants[].patch | Yes | array of objects | Patch operations. Operations: REPLACE, REMOVE. |
Fields that cannot be edited: identifiers, statuses, and date fields.
Error: 400 Bad request | 422 Signature request status should be draft | 500 Unexpected error
Get editable signatories
This endpoint retrieves editable signatories for a signature request.
HTTP Request
GET /api/v1/private/signature-requests/{signatureRequestId}/signatories/editables
Where
| Parameter | Mandatory | Datatype | Description |
|---|---|---|---|
| signatureRequestId | Yes | string (UUID) | Unique identifier for the signature request. |
| emails | No | array of string (email) | Filter by participant emails. |
Get editable observers
This endpoint retrieves editable observers for a signature request.
HTTP Request
GET /api/v1/private/signature-requests/{signatureRequestId}/observers/editables
Where
| Parameter | Mandatory | Datatype | Description |
|---|---|---|---|
| signatureRequestId | Yes | string (UUID) | Unique identifier for the signature request. |
| emails | No | array of string (email) | Filter by participant emails. |