> 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

# Add user signatures

POST https://demo.docusign.net/restapi/v2/accounts/{accountId}/users/{userId}/signatures
Content-Type: application/json

Adds a user signature image and/or user initials image to the specified user. 

The userId property specified in the endpoint must match the authenticated user's userId and the user must be a member of the account.

The rules and processes associated with this are:

* If Content-Type is set to application/json, then the default behavior for creating a default signature image, based on the name and a DocuSign font, is used.
* If Content-Type is set to multipart/form-data, then the request must contain a first part with the user signature information, followed by parts that contain the images.

For each Image part, the Content-Disposition header has a "filename" value that is used to map to the `signatureName` and/or `signatureInitials` properties in the JSON to the image. 

For example: 
`Content-Disposition: file; filename="Ron Test20121127083900"`

If no matching image (by filename value) is found, then the image is not set. One, both, or neither of the signature and initials images can be set with this call.

The Content-Transfer-Encoding: base64 header, set in the header for the part containing the image, can be set to indicate that the images are formatted as base64 instead of as binary.

If successful, 200-OK is returned, and a JSON structure containing the signature information is provided, note that the signatureId can change with each API POST, PUT, or DELETE since the changes to the signature structure cause the current signature to be closed, and a new signature record to be created.

Reference: https://developers.docusign.com/docs/esign-rest-api/v2/reference/users/usersignatures/create

## Authentication

- `Authorization` header (required) — OAuth 2.0 access token (JWT or auth-code grant). Sent as Authorization: Bearer \<token>.

## 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.
- `userId` (string, required) — The user ID of the user being accessed. Generally this is the user ID of the authenticated user, but if the authenticated user is an Admin on the account, this may be another user the Admin user is accessing. **Note**: For the [GET /v2/accounts/\{accountId}/envelopes](https://developers.docusign.com/esign-rest-api/reference/Envelopes/Envelopes/listStatusChanges/#envelopesInformation) method, the `user_id` query parameter is not implemented and should not be used.

### Body (application/json)

This endpoint expects an userSignaturesInformation.

- `userSignatures` (list of userSignature, optional)

## Response

### 201

Successful response.

- `userSignatures` (list of userSignature, optional)

## Errors

### 400 Bad Request Error

Error encountered.

- `errorCode` (string, optional) — An error code associated with the error.
- `message` (string, optional) — A short error message.

## Types

### userSignature

- `adoptedDateTime` (string, optional) — The date and time the user adopted their signature.
- `createdDateTime` (string, optional) — Indicates the date and time the item was created.
- `dateStampProperties` (dateStampProperties, optional)
- `errorDetails` (errorDetails, optional) — This object describes errors that occur. It is only valid for responses, and ignored in requests.
- `externalID` (string, optional)
- `imageType` (string, optional) — One of **signature_image** or **initials_image**.
- `initials150ImageId` (string, optional)
- `initialsImageUri` (string, optional) — Contains the URI for an endpoint that you can use to retrieve the initials image.
- `isDefault` (string, optional)
- `phoneticName` (string, optional)
- `signature150ImageId` (string, optional)
- `signatureFont` (string, optional)
- `signatureId` (string, optional) — The ID of the signature being accessed.
- `signatureImageUri` (string, optional) — Contains the URI for an endpoint that you can use to retrieve the signature image.
- `signatureInitials` (string, optional)
- `signatureName` (string, optional) — Specifies the user signature name.
- `signatureType` (string, optional)
- `stampFormat` (string, optional)
- `stampImageUri` (string, optional)
- `stampSizeMM` (string, optional)
- `stampType` (string, optional)

### dateStampProperties

- `dateAreaHeight` (string, optional)
- `dateAreaWidth` (string, optional)
- `dateAreaX` (string, optional)
- `dateAreaY` (string, optional)

### errorDetails

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

- `errorCode` (string, optional) — An error code associated with the error.
- `message` (string, optional) — A short error message.

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "userSignatures": [
    {
      "adoptedDateTime": "string",
      "createdDateTime": "string",
      "dateStampProperties": {
        "dateAreaHeight": "string",
        "dateAreaWidth": "string",
        "dateAreaX": "string",
        "dateAreaY": "string"
      },
      "errorDetails": {
        "errorCode": "string",
        "message": "string"
      },
      "externalID": "string",
      "imageType": "string",
      "initials150ImageId": "string",
      "initialsImageUri": "string",
      "isDefault": "string",
      "phoneticName": "string",
      "signature150ImageId": "string",
      "signatureFont": "string",
      "signatureId": "string",
      "signatureImageUri": "string",
      "signatureInitials": "string",
      "signatureName": "string",
      "signatureType": "string",
      "stampFormat": "string",
      "stampImageUri": "string",
      "stampSizeMM": "string",
      "stampType": "string"
    }
  ]
}
```