Skip to content

Private Endpoints

All operations require authentication.

5 operationsv2/publicCloud/project
Agent setup

List private endpointsBeta

GET
/v2/publicCloud/project/{projectId}/privateEndpoint

Returns the private endpoints of the project.

Path parameters

projectId
required
string

Project ID

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200PrivateEndpoint[]successful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the private endpoint

currentState
read-only
PrivateEndpointCurrentState

Current state of the private endpoint

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the private endpoint

id
read-only
stringuuid

Unique identifier of the private endpoint

resourceStatus
read-only
ResourceStatusEnum

Private endpoint readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PrivateEndpointTargetSpec

Last target specification of the private endpoint

updatedAt
read-only
stringdate-time

Last update date of the private endpoint

Example uses projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/privateEndpoint \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "description": "string", "endpointId": "string", "hostname": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "bandwidth": 0, "name": "string", "port": 0, "tier": "L", "transport": "TCP" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "description": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "name": "string", "tier": "L" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "updatedAt": "2024-01-01T12:00:00Z" }]

Get a private endpointBeta

GET
/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}

Returns the private endpoint, including its VIP address and public hostname.

Path parameters

privateEndpointId
required
stringuuid

Private endpoint ID

projectId
required
string

Project ID

Response

200PrivateEndpointsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the private endpoint

currentState
read-only
PrivateEndpointCurrentState

Current state of the private endpoint

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the private endpoint

id
read-only
stringuuid

Unique identifier of the private endpoint

resourceStatus
read-only
ResourceStatusEnum

Private endpoint readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PrivateEndpointTargetSpec

Last target specification of the private endpoint

updatedAt
read-only
stringdate-time

Last update date of the private endpoint

404objectError 404 response

Example uses privateEndpointId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "description": "string", "endpointId": "string", "hostname": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "bandwidth": 0, "name": "string", "port": 0, "tier": "L", "transport": "TCP" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "description": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "name": "string", "tier": "L" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "updatedAt": "2024-01-01T12:00:00Z"}

Create a private endpointBeta

POST
/v2/publicCloud/project/{projectId}/privateEndpoint

Creates a private endpoint to a service in a network or subnet. A project can have only one private endpoint per service and subnet.

Path parameters

projectId
required
string

Project ID

Request body (required)

targetSpec
required
PrivateEndpointTargetSpec

Desired target specification for the private endpoint to create

Response

200PrivateEndpointsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the private endpoint

currentState
read-only
PrivateEndpointCurrentState

Current state of the private endpoint

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the private endpoint

id
read-only
stringuuid

Unique identifier of the private endpoint

resourceStatus
read-only
ResourceStatusEnum

Private endpoint readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PrivateEndpointTargetSpec

Last target specification of the private endpoint

updatedAt
read-only
stringdate-time

Last update date of the private endpoint

400objectError 400 response
409objectError 409 response

Example uses projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/privateEndpoint \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "description": "string", "endpointId": "string", "hostname": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "bandwidth": 0, "name": "string", "port": 0, "tier": "L", "transport": "TCP" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "description": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "name": "string", "tier": "L" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "updatedAt": "2024-01-01T12:00:00Z"}

Delete a private endpointBeta

DELETE
/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}

Deletes the private endpoint.

Path parameters

privateEndpointId
required
stringuuid

Private endpoint ID

projectId
required
string

Project ID

Response

200PrivateEndpointsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the private endpoint

currentState
read-only
PrivateEndpointCurrentState

Current state of the private endpoint

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the private endpoint

id
read-only
stringuuid

Unique identifier of the private endpoint

resourceStatus
read-only
ResourceStatusEnum

Private endpoint readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PrivateEndpointTargetSpec

Last target specification of the private endpoint

updatedAt
read-only
stringdate-time

Last update date of the private endpoint

404objectError 404 response
409objectError 409 response

Example uses privateEndpointId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "description": "string", "endpointId": "string", "hostname": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "bandwidth": 0, "name": "string", "port": 0, "tier": "L", "transport": "TCP" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "description": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "name": "string", "tier": "L" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "updatedAt": "2024-01-01T12:00:00Z"}

Update a private endpointBeta

PUT
/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId}

Updates the private endpoint's name or description. Its network, subnet, service and public DNS setting are immutable after creation.

Path parameters

privateEndpointId
required
stringuuid

Private endpoint ID

projectId
required
string

Project ID

Request body (required)

checksum
string

Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins).

targetSpec
required
PrivateEndpointUpdateTargetSpec

Desired target specification for the private endpoint

Response

200PrivateEndpointsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the private endpoint

currentState
read-only
PrivateEndpointCurrentState

Current state of the private endpoint

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the private endpoint

id
read-only
stringuuid

Unique identifier of the private endpoint

resourceStatus
read-only
ResourceStatusEnum

Private endpoint readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
PrivateEndpointTargetSpec

Last target specification of the private endpoint

updatedAt
read-only
stringdate-time

Last update date of the private endpoint

404objectError 404 response
409objectError 409 response

Example uses privateEndpointId = 00000000-0000-0000-0000-000000000000, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/privateEndpoint/{privateEndpointId} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "description": "string", "endpointId": "string", "hostname": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "bandwidth": 0, "name": "string", "port": 0, "tier": "L", "transport": "TCP" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "resourceStatus": "CREATING", "targetSpec": { "description": "string", "location": { "availabilityZone": "string", "region": "string" }, "name": "string", "network": { "id": "00000000-0000-0000-0000-000000000000" }, "publicDnsEnabled": true, "service": { "name": "string", "tier": "L" }, "subnet": { "id": "00000000-0000-0000-0000-000000000000" }, "vipAddress": "192.0.2.0" }, "updatedAt": "2024-01-01T12:00:00Z"}