POST /public/v1/documents/{id}/send
🚧 Using the Sandbox Key
When you use a sandbox API key during the free trial period, the sender and recipient email addresses must be from the same organisation (email domain).
Document State
- You can only send a document in the
document.draftstatus. - After creating a new document, it usually retains a
document.uploadedstatus for 3-5 seconds while the document syncs across PandaDoc servers. When the document is available for further API calls, it moves to thedocument.draftstate. Use Document Status or Webhooks to check document status. - Moving a document to the
document.sentstatus finalizes the document structure, before recipients can complete it. - If a template used for the document creation has an approval workflow turned on, the sent document moves to the
document.waiting_approvalstatus. Once the document is approved, you need to make the call again to move the document todocument.sentstatus.
Send and Silence Notifications
- By default, PandaDoc sends a notification email to the recipient, as well as notifications the sender has configured. You may disable all notifications for recipients by passing
silent: true. This is useful when you are using alternative delivery methods such as linking to the document or embedding the document. - The
silent: trueparameter disables sent, viewed, comment and completed document email notifications. "Document Approval" notification won't be affected by this parameter. - If you pass
silent: false, the document is going to be delivered by email and/or SMS.
Select Approver from Group
If you have previously set up an approval workflow with selectable groups on the UI, you can select a particular approver from this group. Learn more about selectable groups.
To set an approver, we recommend to follow these steps:
- Run the Document Details request.
- Copy the
stepspart from theapproval_executionsection of the response into theselected_approversfield of the Send Document payload. - Modify your payload according to business needs: set
is_selectedto true for one approver.
📘 Note: You can change the selected approver only if you revert your document back to the
document.draftstatus.
Servers
- https://api.pandadoc.com
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
String | Yes |
Document ID |
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
reply_to |
String | No |
Email address that will be used as a reply-to address for the document. To use this parameter, please contact the support team to have it enabled for your account. |
message |
String | No |
A message that will be sent by email with a link to a document to sign. |
forwarding_settings |
Object | No |
Set settings for Document and Signature forwarding. |
forwarding_settings.forwarding_with_reassigning_allowed |
Boolean | No |
Your recipient will be able/not able to forward the right to fill out all fields (including signature) assigned to them to another email address. |
forwarding_settings.forwarding_allowed |
Boolean | No |
Your recipient will be able/not able to forward the document to another email address. |
sender |
Object | No |
You can set a sender of a document as an |
sender.email |
String | No |
Email. |
sender.membership_id |
String | No |
Membership ID. |
subject |
String | No |
Value that will be used as the email subject. |
silent |
Boolean | No |
If set to |
selected_approvers |
Object | No |
Configuration for selected approvers. |
selected_approvers.steps[] |
Array | No |
Approval steps. |
selected_approvers.steps[].id |
String | Yes |
Step ID. |
selected_approvers.steps[].group |
Object | Yes |
Group information. |
selected_approvers.steps[].group.id |
String | Yes |
Group ID. |
selected_approvers.steps[].group.assignees[] |
Array | Yes |
Assignees for the group. |
selected_approvers.steps[].group.assignees[].is_selected |
Boolean | No |
Whether the user is selected. |
selected_approvers.steps[].group.assignees[].user |
String | No |
User ID. |
selected_approvers.steps[].group.type |
String | Yes |
Group type. |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.