---
title: "Update API Key"
method: PUT
path: "/api/vlm/appkeys/{id}"
tags: ["API keys"]
---

# Update API Key

`PUT /api/vlm/appkeys/{id}`

Activates or deactivates an `appKey` by its ID. 

## Permissions

Any user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:

| **Product** | **Category** | **Resource** |
| --------------- | ----------------- | ----------------- |
| License Manager | Services access control | **Save user** |

You can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):

| **Role** | **Resource** | 
| --------------- | ----------------- | 
| User Administrator - RESTRICTED | Save user |

>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm).

To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).

## Path parameters

- `id` string, required

## Request body

- UpdateappkeyRequest — Request body for activating or deactivating application keys.
  - `isActive` boolean, required — Defines if the API key is active (`true`) or not (`false`).

## Response `200`

Success

## Other responses

- `400` — Bad Request

## Changes

- **2025-08-28** `c1edc71854fc` — 2 info
  - api tag `API keys` added
  - api tag `App Keys` removed
- **2023-10-11** `86441c3dfd15` — 1 warning, 1 info
  - removed the optional property `Detais` from the response with the `400` status
  - added the optional property `Details` to the response with the `400` status
- **2023-10-11** `381c1c4a4ead` — 1 warning, 1 info
  - removed the optional property `Details` from the response with the `400` status
  - added the optional property `Detais` to the response with the `400` status
- **2023-10-05** `1076897ef7be` — 1 warning, 1 info
  - removed the optional property `Detais` from the response with the `400` status
  - added the optional property `Details` to the response with the `400` status
- **2022-01-28** `ca8bd421f133` — 2 warning
  - deleted the `path` request parameter `accountName`
  - deleted the `path` request parameter `environment`

[Full history](https://skmtc.dev/vtex/apis/license-manager-api/changes/api/vlm/appkeys/:id/put.md)

---

[API](https://skmtc.dev/vtex/apis/license-manager-api.md) · [All operations](https://skmtc.dev/vtex/apis/license-manager-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vtex/license-manager-api/revisions/a7dd68911d51/schema)
