Add A Project Signer

Add a Signer to a Project

This endpoint allows you to add a new signer or participant to a project document. You can specify the user's role (Signer, Approver, Viewer, or Issuee) and their details. The document must be in 'Draft' status (not yet sent to users) to add signers.


HTTP Method and URL

  • Method: POST

  • URL: {{host}}/projects/:uuid/signers?user_type=ENTERPRISE_API


Authentication Requirements

  • Requires a valid authentication token (e.g., Bearer token) in the request headers.

Path and Query Parameters

ParameterLocationTypeRequiredDescription
uuidPathstringYesThe unique identifier of the project. Use {{project-uuid}}.
user_typeQuerystringYesMust be set to ENTERPRISE_API.

Request Body

  • Content-Type: application/json

  • Body Schema:

FieldTypeRequiredDescription
emailstringYesEmail address of the signer.
first_namestringYesFirst name of the signer.
last_namestringYesLast name of the signer.
typestringYesType of signer (e.g., GUEST).
signer_rolestringYesRole of the signer (e.g., Signer).
sequenceintegerNoOrder/sequence number of the signer in the signing workflow.
receives_email_notifsintegerNoWhether the signer receives email notifications. 1 (yes) or 0 (no).
completed_email_notifsintegerNoWhether the signer receives email notification when document is completed. 1 (yes) or 0 (no).
companystringNoCompany name of the signer.
add_as_contactintegerNoWhether to add this signer as a contact. 1 (yes) or 0 (no).

Example Request Body:

{
  "email": "[email protected]",
  "first_name": "F",
  "last_name": "Test",
  "type": "GUEST",
  "signer_role": "Signer",
  "sequence": 1,
  "receives_email_notifs": 1,
  "completed_email_notifs": 1,
  "company": "Company Name",
  "add_as_contact": 1
}

Example Request

POST {{host}}/projects/{{project-uuid}}/signers?user_type=ENTERPRISE_API
Content-Type: application/json
Authorization: Bearer <user-token>
{
  "email": "[email protected]",
  "first_name": "F",
  "last_name": "Test",
  "type": "GUEST",
  "signer_role": "Signer"
}

Example Successful Response

  • Status: 200 OK

  • Response Body:

      {
      "message": "",
      "data": [
        {
          "id": 0,
          "project_id": 0,
          "client_id": 0,
          "email": "[email protected]",
          "first_name": "F",
          "last_name": "Test",
          "country": "",
          "role": "",
          "photo": "",
          "verified": 0,
          "verified_at": "",
          "type": "GUEST",
          "sequence": 0,
          "status": "",
          "company": "",
          "job_title": "",
          "team": null,
          "deliver_status": "",
          "in_contact": true,
          "color_code": "",
          "sent_at": null,
          "opened_at": null,
          "signed_at": null,
          "created_at": "",
          "deleted_at": null,
          "signature": null,
          "signature_source": "",
          "initial": "",
          "initial_source": "",
          "signer_role": "Signer",
          "project_role": "",
          "project_role_id": null
        }
      ]
      }
    

Error Responses

Status CodeDescription
422Invalid field type or missing fields.
401/403Authentication failed or unauthorized.
404Project not found.

Example 422 Error Response:

{
  "message": "Invalid field type",
  "errors": {
    "email": ["The email must be a valid email address."]
  }
}

Usage Notes

  • Only documents in 'Draft' status can have signers added.

  • Ensure all required fields are provided and valid.

  • The user_type query parameter must always be set to ENTERPRISE_API.

  • The endpoint requires authentication; include a valid token in the Authorization header.

  • If you receive a 422 error, check that all fields are present and correctly formatted.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
Query Params
string
Body Params
string

first name of the user

string

last name of the user

string

email of the user

string

GUEST

string

Signer | Approver | Viewer | Issuee

integer

order of the user

string

1 | 0

integer

1 | 0

string

string

string

1 | 0

Responses

Language
Credentials
Bearer
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json