# Send a document for signature

Send one rendered document out for signature: name the signers (name, email and role), optionally an order, an expiry and a covering sentence, and each is mailed a single-use link to a public signing page. Reach for this to put an offer, a funding agreement or a fee agreement in somebody's hands. It supersedes any request still standing on the same paper. Set sequential to make each signer wait for the one before, and includeWorkspaceSigner to seat the workspace's own execution profile last.

Access class: `workspace`.

## Endpoint

`POST /v1/documents/{id}/signing`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| id | path | string | Yes |

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "expiresAt": "string",
    "includeWorkspaceSigner": true,
    "message": "string",
    "sequential": true,
    "signers": [
      {
        "email": "string",
        "name": "string",
        "role": "string"
      }
    ]
  },
  "params": {
    ":id": "string"
  },
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "cancelledAt": "string",
    "cancelledReason": "string",
    "completedAt": "string",
    "createdAt": "string",
    "createdBy": 1,
    "dealId": "",
    "documentId": "",
    "documentTitle": "string",
    "expiresAt": "string",
    "id": "",
    "message": "string",
    "purpose": "string",
    "rowId": "",
    "signers": [
      {
        "blocked": "string",
        "declineReason": "string",
        "declinedAt": "string",
        "email": "string",
        "id": "",
        "name": "string",
        "order": "string",
        "remindedAt": "string",
        "reminderCount": "string",
        "role": "string",
        "signedAt": "string",
        "status": "string",
        "typedName": "string",
        "viewedAt": "string"
      }
    ],
    "signingOrder": "string",
    "status": "string"
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
