# Update a signature

> **PUT** `https://api.us.nylas.com/v3/grants/{grant_id}/signatures/{signature_id}`

Source: https://developer.nylas.com/docs/reference/api/signatures/put-signature/

Update the specified signature. You can update the `name`, `body`, or both. The signature ID
does not change.

**Authentication:** NYLAS_API_KEY, ACCESS_TOKEN

## Parameters

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `select` | string | No | Specify fields that you want Nylas to return, as a comma-separated list (for example, `select=id,updated_at`). This allows you to receive only the portion of object data that you're interested in. You can use `select` to optimize response size and reduce latency by limiting queries to only the information that you need. |

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `grant_id` | string | Yes | ID of the grant to access. Use `/me/` to refer to the grant associated with an access token. |
| `signature_id` | string | Yes | ID of the signature to access. |

## Request body

Content-Type: application/json

- `name` (string) - Updated label for the signature.
- `body` (string) - Updated HTML content for the signature. Maximum 100 KB. Images must use externally hosted
URLs (base64 inline images are not supported). Nylas sanitizes the HTML on input to prevent
malicious content.

## Responses

### 200 - Signature

- `request_id` (string) - The request ID.
- `data` (object)
  - `id` (string) - Globally unique identifier for the signature.
  - `grant_id` (string) - The ID of grant for the connected user.
  - `name` (string) - A label for the signature (for example, "Work", "Personal", or "Mobile").
  - `body` (string) - The HTML content of the signature. Images must use externally hosted URLs.
  - `object` (string) - The type of object.
  - `created_at` (integer) - Unix timestamp when the signature was created.
  - `updated_at` (integer) - Unix timestamp when the signature was last modified.

### 400 - Bad Request

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.
  - `provider_error` (object) - The error from the provider.

### 401 - Unauthorized

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.
  - `provider_error` (object) - The error from the provider.

### 404 - Not Found

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.
  - `provider_error` (object) - The raw error from the provider, if available
    - `code` (string)
    - `message` (string)

### 429 - Rate Limit

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.

### 504 - Provider Failure

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.

## Code samples

### cURL

```bash
curl --request PUT \
  --url 'https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/signatures/<SIGNATURE_ID>' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <NYLAS_API_KEY>' \
  --data '{
    "name": "Updated Work Signature",
    "body": "<div><p><strong>Nick Barraclough</strong></p><p>Senior Product Manager | Nylas</p><p><a href=\"mailto:nick@nylas.com\">nick@nylas.com</a></p></div>"
  }'

```
