> ## Documentation Index
> Fetch the complete documentation index at: https://signatureapi-daf4ee54.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a deliverable

> Creates a new deliverable from a completed envelope.

Creates a new [deliverable](/docs/api/resources/deliverables/object) from a completed [envelope](/docs/api/resources/envelopes/object). The envelope must have a `status` of `completed`.

SignatureAPI already creates one deliverable automatically when an envelope completes. Use this endpoint to generate additional deliverables after that point. For example, create a simple deliverable containing only specific documents, or a password-protected copy for secure distribution.

The deliverable starts in `processing` status and transitions to `generated` once the PDF is ready. This usually takes a few seconds. Subscribe to the [`deliverable.generated`](/docs/api/resources/events/deliverable-events#deliverable-generated) webhook to be notified when the deliverable is ready for download.

<Note>Deliverables created using this endpoint are not sent automatically to recipients.</Note>

### Path Parameters

<ParamField path="envelope_id" type="string" required={true}>
  The unique identifier of the envelope, in UUID format.
</ParamField>

### Body Parameters

<Expandable title="Standard Deliverable" defaultOpen={false}>
  <Tip>The standard deliverable includes an audit log. To get signed documents without an audit log, use the [simple deliverable](/docs/api/resources/deliverables/simple) instead.</Tip>

  <ParamField body="name" type="string">
    A user-provided name for this deliverable. Use this to identify deliverables when an envelope has more than one.

    Must start with a lowercase letter and contain only lowercase letters, numbers, and underscores. Between 1 and 32 characters.
  </ParamField>

  <ParamField body="type" type="enum" required={true}>
    The type of the deliverable.

    * `standard`: Includes the signed documents and an audit log with a certificate of completion. This is the default.
    * `simple`: Includes the signed documents only, without an audit log.

    For standard deliverables, the type is `standard`.
  </ParamField>

  <ParamField body="language" type="enum">
    The language for system-generated text in the audit log, including labels and the certificate of completion. Does not affect the content of the signed documents.

    Supported values: `en` (English), `es` (Spanish), `fr` (French), `it` (Italian), `pt` (Portuguese), `de` (German), `zh` (Chinese Simplified), `hu` (Hungarian).

    Defaults to the envelope language.
  </ParamField>

  <ParamField body="timezone" type="string">
    The timezone used for timestamps in the audit log. Must be a valid IANA Time Zone Database identifier (e.g., `America/New_York`, `Europe/London`). Does not affect timestamps inside the signed documents.

    Defaults to the envelope timezone.
  </ParamField>

  <ParamField body="timestamp_format" type="string">
    The format for timestamps in the audit log. Uses MomentJS format tokens (e.g., `MM/DD/YYYY HH:mm:ss`). Does not affect timestamps inside the signed documents.

    Defaults to the envelope timestamp format.
  </ParamField>

  <ParamField body="included_documents" type="array of strings">
    The keys of the documents to include in the deliverable. By default, all documents in the envelope are included.

    Use this to create a deliverable with only a subset of documents. For example, generate separate deliverables for different recipients. Accepts between 1 and 10 document keys.
  </ParamField>

  <ParamField body="password" type="string">
    The password used to encrypt the deliverable. Recipients must enter this password to access the downloaded file.

    Password requirements:

    * Between 4 and 32 characters
    * Letters and numbers only (no special characters or spaces)

    When returned in API responses, the password value is masked for security (displayed as `********`).

    <Note>Password protection is available upon request. [Contact support](https://signatureapi.com/support) to enable this feature.</Note>
  </ParamField>
</Expandable>

<Expandable title="Simple Deliverable" defaultOpen={false}>
  <Tip>The simple deliverable does not include an audit log. To get signed documents with an audit log, use the [standard deliverable](/docs/api/resources/deliverables/standard) instead.</Tip>

  <ParamField body="name" type="string">
    A user-provided name for this deliverable. Use this to identify deliverables when an envelope has more than one.

    Must start with a lowercase letter and contain only lowercase letters, numbers, and underscores. Between 1 and 32 characters.
  </ParamField>

  <ParamField body="type" type="enum" required={true}>
    The type of the deliverable.

    * `standard`: Includes the signed documents and an audit log with a certificate of completion. This is the default.
    * `simple`: Includes the signed documents only, without an audit log.

    For simple deliverables, the type is `simple`.
  </ParamField>

  <ParamField body="included_documents" type="array of strings">
    The keys of the documents to include in the deliverable. By default, all documents in the envelope are included.

    Use this to create a deliverable with only a subset of documents. For example, generate separate deliverables for different recipients. Accepts between 1 and 10 document keys.
  </ParamField>

  <ParamField body="password" type="string">
    The password used to encrypt the deliverable. Recipients must enter this password to access the downloaded file.

    Password requirements:

    * Between 4 and 32 characters
    * Letters and numbers only (no special characters or spaces)

    When returned in API responses, the password value is masked for security (displayed as `********`).

    <Note>Password protection is available upon request. [Contact support](https://signatureapi.com/support) to enable this feature.</Note>
  </ParamField>
</Expandable>

### Returns

Returns a `201 Created` status code along with [a deliverable object](/docs/api/resources/deliverables/object) after successful creation, or an [error](/docs/api/errors) otherwise.

<RequestExample>
  ```json Standard theme={null}
  // POST https://api.signatureapi.com/v1/envelopes/{envelope_id}/deliverables
  // X-API-Key: key_test_...
  // Content-Type: application/json

  {
    "type": "standard"
  }
  ```

  ```json Simple (No Audit Log) theme={null}
  // POST https://api.signatureapi.com/v1/envelopes/{envelope_id}/deliverables
  // X-API-Key: key_test_...
  // Content-Type: application/json

  {
    "type": "simple"
  }
  ```

  ```json With Password theme={null}
  // POST https://api.signatureapi.com/v1/envelopes/{envelope_id}/deliverables
  // X-API-Key: key_test_...
  // Content-Type: application/json

  {
    "type": "standard",
    "password": "SecurePass123",
    "language": "en",
    "timezone": "America/New_York",
    "timestamp_format": "MM/DD/YYYY HH:mm:ss"
  }
  ```

  ```json Specific Documents theme={null}
  // POST https://api.signatureapi.com/v1/envelopes/{envelope_id}/deliverables
  // X-API-Key: key_test_...
  // Content-Type: application/json

  {
    "type": "standard",
    "included_documents": ["contract", "addendum"]
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Standard theme={null}
  // HTTP Status Code 201

  {
    "id": "del_LXRDwyTeJDVrWXmjwxsAGPq",
    "name": null,
    "envelope_id": "4ec99c57-4430-4d73-8afd-912dcf4b5880",
    "type": "standard",
    "status": "processing",
    "url": null,
    "language": "en",
    "timezone": "America/New_York",
    "timestamp_format": "MM/DD/YYYY HH:mm:ss",
    "included_documents": ["contract", "addendum"],
    "password": null,
    "created_at": "2024-01-01T00:00:00Z",
    "generated_at": null
  }
  ```

  ```json Simple (No Audit Log) theme={null}
  // HTTP Status Code 201

  {
    "id": "del_MYSExzUfKEWsXYnkywsAGQr",
    "name": null,
    "envelope_id": "4ec99c57-4430-4d73-8afd-912dcf4b5880",
    "type": "simple",
    "status": "processing",
    "url": null,
    "included_documents": ["contract", "addendum"],
    "password": null,
    "created_at": "2024-01-01T00:00:00Z",
    "generated_at": null
  }
  ```

  ```json With Password theme={null}
  // HTTP Status Code 201

  {
    "id": "del_NZTFyAVgLFXtYZolzxtAHRs",
    "name": null,
    "envelope_id": "4ec99c57-4430-4d73-8afd-912dcf4b5880",
    "type": "standard",
    "status": "processing",
    "url": null,
    "language": "en",
    "timezone": "America/New_York",
    "timestamp_format": "MM/DD/YYYY HH:mm:ss",
    "included_documents": ["contract", "addendum"],
    "password": "********",
    "created_at": "2024-01-01T00:00:00Z",
    "generated_at": null
  }
  ```

  ```json Specific Documents theme={null}
  // HTTP Status Code 201

  {
    "id": "del_OATGzBWhMGYuZApmAyuBISt",
    "name": null,
    "envelope_id": "4ec99c57-4430-4d73-8afd-912dcf4b5880",
    "type": "standard",
    "status": "processing",
    "url": null,
    "language": "en",
    "timezone": "America/New_York",
    "timestamp_format": "MM/DD/YYYY HH:mm:ss",
    "included_documents": ["contract", "addendum"],
    "password": null,
    "created_at": "2024-01-01T00:00:00Z",
    "generated_at": null
  }
  ```
</ResponseExample>
