Workflow · eSign

Collect electronic signatures

Create an eSign session, assign recipient actions, and coordinate parallel or staged signing without a notary.

7 minAPI v2Integration guide

Create the eSign session

Use signing_type: "esign". Every recipient needs a first name, last name, email, and action. Notary and RON timing fields are not required for this flow.

JSON
{
  "notarization_id": "esign-order-1042",
  "signing_type": "esign",
  "send_signer_emails": true,
  "all_signers": [
    {
      "first_name": "Sam",
      "last_name": "Signer",
      "email": "sam@example.com",
      "action": "needs_to_sign"
    }
  ]
}

Choose recipient actions

Give each participant the action that matches their role. Repeated recipient emails are rejected.

ActionPurpose
needs_to_signA recipient who signs the document.
needs_to_viewA recipient who needs to view it.
receives_a_copyA recipient who receives a copy.

Choose who sends invitations

send_signer_emails: true requests BlueNotary email invitations. Set it to false to deliver returned links through your application. The request overrides the eSign default, while account suppression still applies.

Creation does not confirm delivery

A session may be created even if invitation delivery fails. Confirm the email path in your test workflow.

Use stages for successive groups

Omit stages for the parallel workflow. When you provide stages, give every recipient a unique id and reference it in exactly one stage. Each stage must contain at least one recipient whose action is needs_to_sign.

  • A maximum of 10 stages is supported.
  • An empty stages array is rejected; omit the field for parallel signing.
  • A recipient cannot appear twice or be omitted from the stage mapping.
  • Stages are supported only for eSign.
JSON
{
  "signing_type": "esign",
  "notarization_id": "esign-staged-1042",
  "send_signer_emails": true,
  "all_signers": [
    {
      "id": "customer",
      "first_name": "Sam",
      "last_name": "Signer",
      "email": "sam@example.com",
      "action": "needs_to_sign"
    },
    {
      "id": "approver",
      "first_name": "Avery",
      "last_name": "Approver",
      "email": "avery@example.com",
      "action": "needs_to_sign"
    }
  ],
  "stages": [
    {
      "name": "Customer signature",
      "party_ids": [
        "customer"
      ]
    },
    {
      "name": "Internal approval",
      "party_ids": [
        "approver"
      ]
    }
  ]
}

Track action, stage, and session completion

An individual action or stage is not final completion of the whole session.

Event or fieldUse
esign_action_completedTrack an individual completed eSign action.
stage_completedTrack completion of a stage.
stage_positionInterpret stage context in applicable event payloads.
session_completedHandle the completed session and final outputs.
GET session current_stage / stagesReconcile progress when an event is delayed.

Prepare fields and retrieve outputs

Attach readable documents and ensure intended fields are assigned before launching participants. Choose final-document webhook delivery or retrieve signed PDFs using the session’s signed_documents operation. Test shared-device eSign separately because its returned access link can target the business administrator.

Keep building