networking

Create a PrivateLink endpoint

Creates a PrivateLink endpoint for a project.

post/v1/networking/privatelink/endpoints

Query parameters

teamIdstring
Example:team_1a2b3c4d5e6f7g8h9i0j1k2l

The Team identifier to perform the request on behalf of.

slugstring
Example:my-team-url-slug

The Team slug to perform the request on behalf of.

Request body

projectIdstring required

The project ID to create the PrivateLink endpoint for.

namestring required

The name of the PrivateLink endpoint, used as its label in the Vercel dashboard.

vercelRegionstring required

The Vercel region to provision the endpoint in. Advanced Networking must be enabled for the project in that region. The endpoint service itself may live in another AWS region.

awsServiceNamestring required

The name of the AWS VPC endpoint service to connect to. Its AWS region is read from the name; when that region differs from the one behind vercelRegion, the service must allow cross-region access.

enablePrivateDnsboolean

Whether to resolve the endpoint service through its private DNS names, which are then returned in privateDnsNames. Defaults to false, in which case the endpoint is reachable through the DNS names in awsDnsEntries.

Example request

{
  "projectId": "prj_a1b2c3d4e5f6g7h8",
  "name": "payments-db",
  "vercelRegion": "iad1",
  "awsServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0"
}

Response

The PrivateLink endpoint was created and is being provisioned.

endpointIdstring required

The unique identifier of the PrivateLink endpoint.

namestring required

The name of the PrivateLink endpoint, shown in the Vercel dashboard.

teamIdstring required

The identifier of the team that owns the PrivateLink endpoint.

projectIdstring required

The identifier of the project the PrivateLink endpoint belongs to.

vercelRegionstring required

The Vercel region the endpoint is provisioned in.

awsServiceNamestring required

The AWS VPC endpoint service the endpoint connects to.

vpcEndpointIdstring

The identifier of the underlying AWS VPC endpoint. Absent until AWS has created the endpoint.

awsDnsEntriesstring[]

The regional DNS names assigned to the endpoint by AWS. Use these to reach the service when private DNS is not enabled.

privateDnsNamesstring[]

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.

statusMessagestring

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.

createdAtnumber required

Timestamp in milliseconds since the UNIX epoch for when the endpoint was created.

updatedAtnumber required

Timestamp in milliseconds since the UNIX epoch for when the endpoint was last updated.

Example response

{
  "endpointId": "ple_a1b2c3d4e5f6g7h8",
  "name": "payments-db",
  "teamId": "team_a1b2c3d4e5f6g7h8",
  "projectId": "prj_a1b2c3d4e5f6g7h8",
  "vercelRegion": "iad1",
  "awsServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0",
  "vpcEndpointId": "vpce-0123456789abcdef0",
  "awsDnsEntries": [
    "vpce-0123456789abcdef0-a1b2c3d4.vpce-svc-0123456789abcdef0.us-east-1.vpce.amazonaws.com"
  ],
  "privateDnsNames": [
    "payments.internal.example.com"
  ],
  "status": "available",
  "statusMessage": "Endpoint did not become available in time. Try deleting and recreating, or visit https://vercel.com/help if the issue persists.",
  "createdAt": 1610963878358,
  "updatedAt": 1610963878358
}

Changes