---
title: "Update a PrivateLink endpoint"
method: PATCH
path: "/v1/networking/privatelink/endpoints/{endpointId}"
tags: ["networking"]
---

# Update a PrivateLink endpoint

`PATCH /v1/networking/privatelink/endpoints/{endpointId}`

Updates a PrivateLink endpoint (name, privateDns).

## Path parameters

- `endpointId` string, required — The unique identifier of the PrivateLink endpoint.

## Query parameters

- `projectId` string, required — The project ID the PrivateLink endpoint belongs to.
- `teamId` string
- `slug` string

## Request body

- object
  - `name` string — A new name for the PrivateLink endpoint. When omitted, the current name is kept.
  - `enablePrivateDns` boolean — When `true`, resolves the endpoint service through its private DNS names, which are then returned in `privateDnsNames`. When `false`, clears them. When omitted, the current setting is kept. At least one of `name` or `enablePrivateDns` must be provided.

## Response `200`

The updated PrivateLink endpoint.

- PrivateLinkEndpoint — A PrivateLink endpoint, which connects a project to an AWS VPC endpoint service in a single region so that traffic reaches the service over AWS PrivateLink rather than the public internet.
  - `endpointId` string, required — The unique identifier of the PrivateLink endpoint.
  - `name` string, required — The name of the PrivateLink endpoint, shown in the Vercel dashboard.
  - `teamId` string, required — The identifier of the team that owns the PrivateLink endpoint.
  - `projectId` string, required — The identifier of the project the PrivateLink endpoint belongs to.
  - `vercelRegion` string, required — The Vercel region the endpoint is provisioned in.
  - `awsServiceName` string, required — The AWS VPC endpoint service the endpoint connects to.
  - `vpcEndpointId` string — The identifier of the underlying AWS VPC endpoint. Absent until AWS has created the endpoint.
  - `awsDnsEntries` string[] — The regional DNS names assigned to the endpoint by AWS. Use these to reach the service when private DNS is not enabled.
  - `privateDnsNames` string[] — The private DNS names of the endpoint service, populated when private DNS is enabled for the endpoint.
  - `status` 'available' | 'creating' | 'deleting' | 'failed' | 'pending-acceptance' | 'provisioning' | 'rejected', required — The current state of the endpoint. - `creating`: the endpoint is being created. - `pending-acceptance`: waiting for the endpoint service owner to accept the connection. Only occurs for services that require manual acceptance. - `provisioning`: the connection was accepted and AWS is finishing setup. - `available`: the endpoint is fully provisioned and ready to use. - `rejected`: the endpoint service owner rejected the connection. - `failed`: the endpoint could not be provisioned. - `deleting`: the endpoint is being deleted.
  - `statusMessage` string — A human-readable explanation of why the endpoint could not be provisioned. Only set when `status` is `failed`, and absent for every other status including `rejected`, since AWS does not report a rejection reason.
  - `createdAt` number, required — Timestamp in milliseconds since the UNIX epoch for when the endpoint was created.
  - `updatedAt` number, required — Timestamp in milliseconds since the UNIX epoch for when the endpoint was last updated.

## Other responses

- `400` — One of the provided values in the request body is invalid. One of the provided values in the request query is invalid.
- `401` — The request is not authorized.
- `403` — You do not have permission to access this resource.
- `404`
- `409`
- `410`

## Changes

- **2026-09-03** `7c947faac0ef` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/vercel/apis/api/changes/v1/networking/privatelink/endpoints/:endpointId/patch.md)

---

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