> 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

# Share envelope with other users

POST https://demo.docusign.net/restapi/v2.1/accounts/{accountId}/envelopes/{envelopeId}/shares
Content-Type: application/json

Shares an envelope with other users in your account. Each shares object in the request array represents one user with whom the envelope will be shared.

Reference: https://developers.docusign.com/docs/esign-rest-api/reference/envelopes/envelopeshares/createenvelopesshares

## 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 of the account to which the caller and the users to whom the envelope will be shared all belong.
- `envelopeId` (string, required) — The envelope ID GUID of the envelope being shared.

### Body (application/json)

This endpoint expects an envelopesSharesRequest.

- `shares` (list of envelopesShareRequest, optional) — An array of objects that contain information on the accounts to whom the envelope will be shared. Each object in the array holds the information for one account. Required.

## Response

### 201

Successful response.

- `shares` (list of envelopesShareResponse, optional)

## 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.

## Types

### envelopesShareRequest

- `agentUser` (authorizationUser, optional)
- `customMessage` (string, optional)
- `permission` (string, optional)
- `shareId` (string, optional)

### envelopesShareResponse

- `agentUser` (authorizationUser, optional)
- `createdTimestamp` (string, optional)
- `envelopeId` (string, optional) — The envelope ID of the envelope status that failed to post.
- `errorDetails` (errorDetails, optional) — This object describes errors that occur. It is only valid for responses, and ignored in requests.
- `modifiedTimestamp` (string, optional)
- `permission` (string, optional)
- `senderInfo` (authorizationUser, optional)
- `shareId` (string, optional)
- `subject` (string, optional)

### authorizationUser

- `accountId` (string, optional) — The account ID.
- `email` (string, optional) — The email address of the authorization user.
- `name` (string, optional) — The name of the authorization user.
- `userId` (string, optional) — The ID of the authorization user.

### errorDetails

This object describes errors that occur. It is only valid for responses, and ignored in requests.

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

## Examples

**Request**

```json
{
  "shares": [
    {
      "agentUser": {
        "accountId": "sample string 1",
        "email": "sample string 2",
        "name": "sample string 3",
        "userId": "sample string 4"
      },
      "customMessage": "sample string 1",
      "permission": "sample string 2",
      "shareId": "sample string 3"
    }
  ]
}
```

**Response**

```json
{
  "shares": [
    {
      "agentUser": {
        "accountId": "sample string 1",
        "email": "sample string 2",
        "name": "sample string 3",
        "userId": "sample string 4"
      },
      "createdTimestamp": "sample string 1",
      "envelopeId": "sample string 2",
      "errorDetails": {
        "errorCode": "sample string 1",
        "message": "sample string 2"
      },
      "modifiedTimestamp": "sample string 3",
      "permission": "sample string 4",
      "shareId": "sample string 5",
      "subject": "sample string 6"
    }
  ]
}
```