Set Attachment Requests
The Attachment Request feature allows you to request recipients to upload files when signing their documents. This is particularly useful when you need additional documentation such as ID cards, driving licenses, payment receipts, or other supporting documents as part of your signature request. Attachment requests are configured at the envelope level. Once you have created an envelope and set a recipient using signing steps, you will get the recipient_id that you can use to set up attachment placeholders.

Set up attachment placeholders

First, configure what attachments you want to collect by setting up placeholders:
Set envelope attachment placeholders
curl --request PUT \
--url https://restapi.sign.plus/v2/envelope/{envelope_id}/attachments/placeholders \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{
"placeholders": [
  {
    "recipient_id": "<string>",
    "id": "<string>",
    "name": "<string>",
    "hint": "<string>",
    "required": <bool>,
    "multiple": <bool>
  }
]
}'

Configure attachment settings

To configure attachment settings for a given envelope, check the set envelope attachment settings endpoint documentation.
By default, all recipients can see files attached by others. Setting visible_to_recipients to "false" ensures that only the envelope sender can access the attachment files provided by all signers.
Set attachment settings
curl --request PUT \
--url https://restapi.sign.plus/v2/envelope/{envelope_id}/attachments/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"settings": {
  "visible_to_recipients": <bool>
}
}'

Download uploaded attachments

Once recipients have uploaded their files, you can download them:
Download attachment files
curl --request GET \
  --url https://restapi.sign.plus/v2/envelope/{envelope_id}/attachments/{file_id} \
  --header 'Authorization: Bearer <api-key>'
On success, the API will return the requested attachment file.

Using with templates

You can also set up attachment requests for templates, making them reusable across multiple envelopes:
Set template attachment placeholders
 curl --request PUT \
  --url https://restapi.sign.plus/v2/template/{template_id}/attachments/placeholders \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
  "placeholders": [
    {
      "recipient_id": "<string>",
      "id": "<string>",
      "name": "<string>",
      "hint": "<string>",
      "required": <bool>,
      "multiple": <bool>
    }
  ]
}'
Set template attachment settings
  curl --request PUT \
  --url https://restapi.sign.plus/v2/template/{template_id}/attachments/settings \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "settings": {
    "visible_to_recipients": <bool>
  }
}'

API Reference

Get endpoint details