Remote Signing

Remote Signing allows you to send documents to signers electronically, collect their digital signatures, and track the signing process. This streamlines the document execution workflow and eliminates the need for paper-based signing. On this page, we'll explore the different remote signing endpoints you can use to manage the entire digital signature process programmatically.

The signer model

The signer model contains information about individuals who need to sign a document, including their role, name, and contact details.

Properties

  • Name
    signer
    Type
    string
    Description

    Unique type or role of the signer (e.g., "Agent", "Vendor (1)").

  • Name
    name
    Type
    string
    Description

    The name of the signer.

  • Name
    email
    Type
    string
    Description

    The email address of the signer.

The remote sign status model

The remote sign status model tracks the current state of a remote signing request, including information about when it was created, sent, and the status of each recipient.

Properties

  • Name
    status
    Type
    string
    Description

    Status of the remote signing request. Can be "sent", "delivered", or "completed".

  • Name
    created
    Type
    timestamp
    Description

    Timestamp of when the remote signing request was created.

  • Name
    updated
    Type
    timestamp
    Description

    Timestamp of when the remote signing request was last updated.

  • Name
    sent
    Type
    timestamp
    Description

    Timestamp of when the remote signing request was sent to signers.

  • Name
    recipients
    Type
    array
    Description

    An array of recipient status objects, including name, email, status, and signed date if completed.


GET/forms/:form_id/remote_sign/signers

Get form signers

This endpoint allows you to retrieve a list of potential signers for a specific form. These are the roles that can sign the document, which you can then populate with actual people's details when creating a remote signing request.

Request

GET
/forms/:form_id/remote_sign/signers
curl https://app-api.reiformslive.com.au/forms/1/remote_sign/signers \
  --request GET \
  --header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

Response

{
  "signers": [
    {
      "signer": "Agent",
      "name": null,
      "email": null
    },
    {
      "signer": "Vendor (1)",
      "name": null,
      "email": null
    },
    {
      "signer": "Vendor (2)",
      "name": null,
      "email": null
    }
  ]
}

POST/forms/:form_id/remote_sign

Create a remote signing request

This endpoint allows you to create a new remote signing request for a form. You need to provide details for each signer, including their name and email address.

Required attributes

  • Name
    signers
    Type
    array
    Description

    An array of signer objects with the following fields for each signer:

    • signer: The role of the signer (must match one returned by the Get Form Signers endpoint)
    • name: The full name of the person signing
    • email: The email address where the signing request will be sent

Request

POST
/forms/:form_id/remote_sign
curl https://app-api.reiformslive.com.au/forms/1/remote_sign \
  --request POST \
  --header "content-type: application/json" \
  --header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
  --data '{"signers": [
    {"signer": "Agent", "name": "John Doe", "email": "john@example.org"},
    {"signer": "Vendor (1)", "name": "Jane Smith", "email": "jane@example.org"}
  ]}'

Response

{
  "status": "sent",
  "created": "2018-10-12T05:51:22.1600000Z",
  "updated": "2018-10-12T05:51:22.1600000Z",
  "sent": "2018-10-12T05:51:23.3330000Z",
  "recipients": [
    {
      "name": "John Doe",
      "email": "john@example.org",
      "status": "sent",
      "signed": null
    },
    {
      "name": "Jane Smith",
      "email": "jane@example.org",
      "status": "sent",
      "signed": null
    }
  ]
}

GET/forms/:form_id/remote_sign

Get remote signing status

This endpoint allows you to check the current status of a remote signing request. You can use this to track whether all parties have signed the document or if the signing process is still in progress.

Request

GET
/forms/:form_id/remote_sign
curl https://app-api.reiformslive.com.au/forms/1/remote_sign \
  --request GET \
  --header "content-type: application/json" \
  --header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="

Response

{
  "status": "sent",
  "created": "2018-10-12T05:51:22.1600000Z",
  "updated": "2018-10-12T05:51:22.1600000Z",
  "sent": "2018-10-12T05:51:23.3330000Z",
  "recipients": [
    {
      "name": "John Doe",
      "email": "john@example.org",
      "status": "sent",
      "signed": null
    },
    {
      "name": "Jane Smith",
      "email": "jane@example.org",
      "status": "sent",
      "signed": null
    }
  ]
}

GET/forms/:form_id/remote_sign/pdf

Download remote signing PDF

This endpoint allows you to download the current state of a remotely signed PDF document. You can retrieve the document at any stage of the signing process.

Request

GET
/forms/:form_id/remote_sign/pdf
curl https://app-api.reiformslive.com.au/forms/1/remote_sign/pdf \
  --request GET \
  --header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ==" \
  --output "signed_document.pdf"
// Returns a PDF file

DELETE/forms/:form_id/remote_sign

Void a remote signing request

This endpoint allows you to cancel or void an active remote signing request. This can only be performed by the user who created the remote signing request.

Request

DELETE
/forms/:form_id/remote_sign
curl https://app-api.reiformslive.com.au/forms/1/remote_sign \
  --request DELETE \
  --header "content-type: application/json" \
  --header "Authorization: Basic YTlkOWIwYItNGY4Yi1hYTQxLTI5NzZmMTcyZmEyMQ=="
// Returns 204 No Content on success

Was this page helpful?