curl --request POST \
--url https://api.nebius.cloud/mk8s/v1alpha1/clusters \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"parentId": "<string>",
"id": "<string>",
"labels": {},
"name": "<string>",
"resourceVersion": "<string>"
},
"spec": {
"controlPlane": {
"subnetId": "<string>",
"endpoints": {
"publicEndpoint": {}
},
"etcdClusterSize": "<string>",
"version": "<string>"
},
"kubeNetwork": {
"serviceCidrs": [
"<string>"
]
}
}
}
'import requests
url = "https://api.nebius.cloud/mk8s/v1alpha1/clusters"
payload = {
"metadata": {
"parentId": "<string>",
"id": "<string>",
"labels": {},
"name": "<string>",
"resourceVersion": "<string>"
},
"spec": {
"controlPlane": {
"subnetId": "<string>",
"endpoints": { "publicEndpoint": {} },
"etcdClusterSize": "<string>",
"version": "<string>"
},
"kubeNetwork": { "serviceCidrs": ["<string>"] }
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
metadata: {
parentId: '<string>',
id: '<string>',
labels: {},
name: '<string>',
resourceVersion: '<string>'
},
spec: {
controlPlane: {
subnetId: '<string>',
endpoints: {publicEndpoint: {}},
etcdClusterSize: '<string>',
version: '<string>'
},
kubeNetwork: {serviceCidrs: ['<string>']}
}
})
};
fetch('https://api.nebius.cloud/mk8s/v1alpha1/clusters', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nebius.cloud/mk8s/v1alpha1/clusters",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'parentId' => '<string>',
'id' => '<string>',
'labels' => [
],
'name' => '<string>',
'resourceVersion' => '<string>'
],
'spec' => [
'controlPlane' => [
'subnetId' => '<string>',
'endpoints' => [
'publicEndpoint' => [
]
],
'etcdClusterSize' => '<string>',
'version' => '<string>'
],
'kubeNetwork' => [
'serviceCidrs' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nebius.cloud/mk8s/v1alpha1/clusters"
payload := strings.NewReader("{\n \"metadata\": {\n \"parentId\": \"<string>\",\n \"id\": \"<string>\",\n \"labels\": {},\n \"name\": \"<string>\",\n \"resourceVersion\": \"<string>\"\n },\n \"spec\": {\n \"controlPlane\": {\n \"subnetId\": \"<string>\",\n \"endpoints\": {\n \"publicEndpoint\": {}\n },\n \"etcdClusterSize\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"kubeNetwork\": {\n \"serviceCidrs\": [\n \"<string>\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nebius.cloud/mk8s/v1alpha1/clusters")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"parentId\": \"<string>\",\n \"id\": \"<string>\",\n \"labels\": {},\n \"name\": \"<string>\",\n \"resourceVersion\": \"<string>\"\n },\n \"spec\": {\n \"controlPlane\": {\n \"subnetId\": \"<string>\",\n \"endpoints\": {\n \"publicEndpoint\": {}\n },\n \"etcdClusterSize\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"kubeNetwork\": {\n \"serviceCidrs\": [\n \"<string>\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nebius.cloud/mk8s/v1alpha1/clusters")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"parentId\": \"<string>\",\n \"id\": \"<string>\",\n \"labels\": {},\n \"name\": \"<string>\",\n \"resourceVersion\": \"<string>\"\n },\n \"spec\": {\n \"controlPlane\": {\n \"subnetId\": \"<string>\",\n \"endpoints\": {\n \"publicEndpoint\": {}\n },\n \"etcdClusterSize\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"kubeNetwork\": {\n \"serviceCidrs\": [\n \"<string>\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"description": "<string>",
"finishedAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"progressData": {
"@type": "<string>"
},
"request": {
"@type": "<string>"
},
"requestHeaders": {},
"resource": {
"@type": "<string>"
},
"resourceId": "<string>",
"status": {
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}
}Create
curl --request POST \
--url https://api.nebius.cloud/mk8s/v1alpha1/clusters \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"metadata": {
"parentId": "<string>",
"id": "<string>",
"labels": {},
"name": "<string>",
"resourceVersion": "<string>"
},
"spec": {
"controlPlane": {
"subnetId": "<string>",
"endpoints": {
"publicEndpoint": {}
},
"etcdClusterSize": "<string>",
"version": "<string>"
},
"kubeNetwork": {
"serviceCidrs": [
"<string>"
]
}
}
}
'import requests
url = "https://api.nebius.cloud/mk8s/v1alpha1/clusters"
payload = {
"metadata": {
"parentId": "<string>",
"id": "<string>",
"labels": {},
"name": "<string>",
"resourceVersion": "<string>"
},
"spec": {
"controlPlane": {
"subnetId": "<string>",
"endpoints": { "publicEndpoint": {} },
"etcdClusterSize": "<string>",
"version": "<string>"
},
"kubeNetwork": { "serviceCidrs": ["<string>"] }
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
metadata: {
parentId: '<string>',
id: '<string>',
labels: {},
name: '<string>',
resourceVersion: '<string>'
},
spec: {
controlPlane: {
subnetId: '<string>',
endpoints: {publicEndpoint: {}},
etcdClusterSize: '<string>',
version: '<string>'
},
kubeNetwork: {serviceCidrs: ['<string>']}
}
})
};
fetch('https://api.nebius.cloud/mk8s/v1alpha1/clusters', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nebius.cloud/mk8s/v1alpha1/clusters",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'parentId' => '<string>',
'id' => '<string>',
'labels' => [
],
'name' => '<string>',
'resourceVersion' => '<string>'
],
'spec' => [
'controlPlane' => [
'subnetId' => '<string>',
'endpoints' => [
'publicEndpoint' => [
]
],
'etcdClusterSize' => '<string>',
'version' => '<string>'
],
'kubeNetwork' => [
'serviceCidrs' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nebius.cloud/mk8s/v1alpha1/clusters"
payload := strings.NewReader("{\n \"metadata\": {\n \"parentId\": \"<string>\",\n \"id\": \"<string>\",\n \"labels\": {},\n \"name\": \"<string>\",\n \"resourceVersion\": \"<string>\"\n },\n \"spec\": {\n \"controlPlane\": {\n \"subnetId\": \"<string>\",\n \"endpoints\": {\n \"publicEndpoint\": {}\n },\n \"etcdClusterSize\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"kubeNetwork\": {\n \"serviceCidrs\": [\n \"<string>\"\n ]\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.nebius.cloud/mk8s/v1alpha1/clusters")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"parentId\": \"<string>\",\n \"id\": \"<string>\",\n \"labels\": {},\n \"name\": \"<string>\",\n \"resourceVersion\": \"<string>\"\n },\n \"spec\": {\n \"controlPlane\": {\n \"subnetId\": \"<string>\",\n \"endpoints\": {\n \"publicEndpoint\": {}\n },\n \"etcdClusterSize\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"kubeNetwork\": {\n \"serviceCidrs\": [\n \"<string>\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.nebius.cloud/mk8s/v1alpha1/clusters")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"parentId\": \"<string>\",\n \"id\": \"<string>\",\n \"labels\": {},\n \"name\": \"<string>\",\n \"resourceVersion\": \"<string>\"\n },\n \"spec\": {\n \"controlPlane\": {\n \"subnetId\": \"<string>\",\n \"endpoints\": {\n \"publicEndpoint\": {}\n },\n \"etcdClusterSize\": \"<string>\",\n \"version\": \"<string>\"\n },\n \"kubeNetwork\": {\n \"serviceCidrs\": [\n \"<string>\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2023-11-07T05:31:56Z",
"createdBy": "<string>",
"description": "<string>",
"finishedAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"progressData": {
"@type": "<string>"
},
"request": {
"@type": "<string>"
},
"requestHeaders": {},
"resource": {
"@type": "<string>"
},
"resourceId": "<string>",
"status": {
"code": 123,
"details": [
{
"@type": "<string>"
}
],
"message": "<string>"
}
}Authorizations
The Authorization header expects a Bearer token.
Body
Response
A successful response.
Creation timestamp.
ID of the user or service account who initiated the operation.
Human readable description of the operation. 0-256 characters long.
The time when the operation finished.
ID of the operation.
Any contains an arbitrary serialized protocol buffer message along with a
URL that describes the type of the serialized message
Show child attributes
Show child attributes
Any contains an arbitrary serialized protocol buffer message along with a
URL that describes the type of the serialized message
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Any contains an arbitrary serialized protocol buffer message along with a
URL that describes the type of the serialized message
Show child attributes
Show child attributes
ID of the resource that this operation creates, updates, deletes or otherwise changes.
If the operation affects multiple resources or does not affect any API resources at all (e.g. a routine maintenance operation visible to the user), the [resource_id] must be empty.
The Status type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by gRPC. Each Status message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the API Design Guide.
Show child attributes
Show child attributes
Was this page helpful?