> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# Create bulk send test

POST https://demo.docusign.net/restapi/v2.1/accounts/{accountId}/bulk_send_lists/{bulkSendListId}/test
Content-Type: application/json

This method tests a bulk send list for compatibility with the envelope or template that you want to send. For example, a template that has three roles is not compatible with a bulk send list that has only two recipients. For this reason, you might want to test compatibility first.

A successful test result returns `true` for the `canBeSent` property. An unsuccessful test returns a JSON response that contains information about the errors that occurred.

If the test is successful, you can then send the envelope or template by using the [BulkSend::createBulkSendRequest](/docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendrequest/) method.

## Envelope Compatibility Checks

This section describes the envelope compatibility checks that the system performs.

**Top-Level Issues**

- Envelopes must be in a sendable state.
- The bulk send list must contain at least one copy (instance of an envelope), and no more than the maximum number of copies allowed for the account.
- The envelope must not be null and must be visible to the current user.
- The account cannot have more queued envelopes than the maximum number configured for the account.
- The bulk send list must exist.

**Recipients**

- The envelope must have recipients.
- If you are using an envelope, all of the recipients defined in the bulk send list must have corresponding recipient IDs in the envelope definition. If you are using a template, you must either match the recipient IDs or role IDs.
- The envelope cannot contain a bulk recipient (an artifact of the legacy version of Docusign bulk send
functionality).

**Recipient Tabs**

- Every `recipient ID, tab label` pair in the bulk send list must correspond to a tab in the envelope.

**Custom Fields**

- Each envelope-level custom field in the bulk send list must correspond to the name of a `customField` in the
envelope definition. You do not have to match the recipient-level custom fields.

Reference: https://developers.docusign.com/docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendtestrequest

## Authentication

- `Authorization` header (required) (prefixed with ` Bearer  `) — OAuth 2.0 access token (JWT or auth-code grant). Sent as `Authorization: Bearer <token>` on every request except `GET /v2.1` and `GET /service_information`, which are public discovery endpoints.

## Servers

- `https://demo.docusign.net/restapi` (Demo, default)
- `https://www.docusign.net/restapi` (Production)

## Request

### Path parameters

- `accountId` (string, required) — The external account number (int) or account ID Guid.
- `bulkSendListId` (string, required) — The GUID of the bulk send list. This property is created after you post a new bulk send list.

### Body (application/json)

This endpoint expects a bulkSendRequest.

- `batchName` (string, optional) — The human-readable name of the batch. If you do not set this value, it defaults to the `name` property of the `bulkSendingList` object.
- `envelopeOrTemplateId` (string, optional) — The GUID of the envelope or template that you want to send in bulk.

## Response

### 201

Successful response.

- `canBeSent` (boolean, optional) — When **true,** the envelope or template is compatible with the bulk send list and can be sent by using the [BulkSend: createBulkSendRequest](/docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendrequest/) method. **Note:** This property is only returned in responses and ignored in requests.
- `validationErrorDetails` (list of string, optional) — Human-readable details about any validation errors that occurred.
- `validationErrors` (list of string, optional) — A list of validation errors that were encountered during the bulk send test. **Note:** This information is intended to be parsed by machine.

## Errors

### 400 Bad Request Error

Error encountered.

- `errorCode` (string, optional) — The code associated with the error condition.
- `message` (string, optional) — A brief message describing the error condition.

## Examples

**Request**

```json
{
  "batchName": "sample string 1",
  "envelopeOrTemplateId": "sample string 2"
}
```

**Response**

```json
{
  "canBeSent": true,
  "validationErrorDetails": [
    "sample string 1"
  ],
  "validationErrors": [
    "sample string 1"
  ]
}
```