> For the complete documentation index, see [llms.txt](https://docs.sign.enadocapp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sign.enadocapp.com/evia-sign-api/v2/add-stamps-to-a-signatory.md).

# Add Stamps to a Signatory

This operation allows you to assign **stamp fields** (such as signature, initials, date, etc.) to a signatory that was previously added to a `type=0` (skeleton) signature request. These stamps act as placeholders that will be visually placed on the document.

You can add multiple stamps to a single signatory by calling this endpoint multiple times, each with a different `Identifier`.

## Request URL

<mark style="color:green;">`POST`</mark> `/_apis/sign/api/v2/requests/requestId/signatories/signatoryId/stamps`

This request URL is  used to assign a stamp field to a signatory on a specific document.

### Required Headers

These headers are required to authorize the request and define the content type.

| Header          | Required | Description                     |
| --------------- | -------- | ------------------------------- |
| `Authorization` | ✅ Yes    | Bearer token for authentication |
| `Content-Type`  | ✅ Yes    | Must be `application/json`      |

### Request Body

This is the JSON structure used to define a stamp placeholder.

```json
{
  "Identifier": "signature1",
  "Type": "signature"
}
```

### Field-by-Field Explanation

| Field        | Type     | Required | Description                                                                                |
| ------------ | -------- | -------- | ------------------------------------------------------------------------------------------ |
| `Identifier` | `string` | ✅ Yes    | A unique identifier for the stamp. This ID will be used later during stamp placement.      |
| `Type`       | `string` | ✅ Yes    | Defines the type of stamp (e.g., signature, name, email, date). See supported types below. |

### Supported Stamp Types

These are the predefined field types you can assign to a document:

| Type        | Display Text       | Field Behavior                      |
| ----------- | ------------------ | ----------------------------------- |
| `signature` | `Sign Here`        | Signer's signature field            |
| `initial`   | `Initial`          | Initials field                      |
| `name`      | Full Name          | Auto-fills signer's full name       |
| `email`     | Signer’s Email     | Auto-fills signer's email           |
| `date`      | e.g., `mm/dd/yyyy` | Auto-inserts date (based on format) |
| `text`      | `Type here`        | A blank text field for custom input |

{% hint style="info" %}
You can add multiple stamp types per signatory as long as each has a **unique Identifier**.
{% endhint %}

### Successful Response

```json
{
  "requestId": "abc123-request-id",
  "stampsCount": 1
}
```

### Field Explanation

| Field         | Type     | Description                                                                                                                            |
| ------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `requestId`   | `string` | The unique identifier of the signature request to which the stamp(s) were added.                                                       |
| `stampsCount` | `number` | Indicates how many stamps were successfully added for the specified signatory. Typically `1` per request unless batching is supported. |

### Possible Errors and How to Handle Them

When adding a stamp to a signatory, the API may return standard error responses based on validation or authorization failures.

| Status Code | Error Message          | Explanation                                                                         |
| ----------- | ---------------------- | ----------------------------------------------------------------------------------- |
| `400`       | Bad Request            | The request body is invalid or missing required fields like `Identifier` or `Type`. |
| `401`       | Unauthorized           | The access token is missing, expired, or invalid.                                   |
| `404`       | Signatory ID not found | The provided `signatoryId` is invalid or does not exist.                            |
