Update compute config
curl --request PATCH \
--url https://api.akua.dev/v1/compute_configs/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'if-match: <if-match>' \
--data '
{
"name": "<string>",
"provider_config": {
"region": "<string>",
"image": "<string>",
"machine_type_filter": "<string>"
},
"credential_scope": {
"kind": "system"
}
}
'import requests
url = "https://api.akua.dev/v1/compute_configs/{id}"
payload = {
"name": "<string>",
"provider_config": {
"region": "<string>",
"image": "<string>",
"machine_type_filter": "<string>"
},
"credential_scope": { "kind": "system" }
}
headers = {
"if-match": "<if-match>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'if-match': '<if-match>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
provider_config: {region: '<string>', image: '<string>', machine_type_filter: '<string>'},
credential_scope: {kind: 'system'}
})
};
fetch('https://api.akua.dev/v1/compute_configs/{id}', 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.akua.dev/v1/compute_configs/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'provider_config' => [
'region' => '<string>',
'image' => '<string>',
'machine_type_filter' => '<string>'
],
'credential_scope' => [
'kind' => 'system'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"if-match: <if-match>"
],
]);
$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.akua.dev/v1/compute_configs/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"provider_config\": {\n \"region\": \"<string>\",\n \"image\": \"<string>\",\n \"machine_type_filter\": \"<string>\"\n },\n \"credential_scope\": {\n \"kind\": \"system\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("if-match", "<if-match>")
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.patch("https://api.akua.dev/v1/compute_configs/{id}")
.header("if-match", "<if-match>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"provider_config\": {\n \"region\": \"<string>\",\n \"image\": \"<string>\",\n \"machine_type_filter\": \"<string>\"\n },\n \"credential_scope\": {\n \"kind\": \"system\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.akua.dev/v1/compute_configs/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["if-match"] = '<if-match>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"provider_config\": {\n \"region\": \"<string>\",\n \"image\": \"<string>\",\n \"machine_type_filter\": \"<string>\"\n },\n \"credential_scope\": {\n \"kind\": \"system\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"provider": "hcloud",
"provider_config": {
"provider": "<string>",
"region": "<string>",
"image": "<string>",
"machine_type_filter": "<string>"
},
"secret_id": "<string>",
"created_at": 123
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}ComputeConfigs
Update compute config
Updates mutable fields of a compute config.
PATCH
/
compute_configs
/
{id}
Update compute config
curl --request PATCH \
--url https://api.akua.dev/v1/compute_configs/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'if-match: <if-match>' \
--data '
{
"name": "<string>",
"provider_config": {
"region": "<string>",
"image": "<string>",
"machine_type_filter": "<string>"
},
"credential_scope": {
"kind": "system"
}
}
'import requests
url = "https://api.akua.dev/v1/compute_configs/{id}"
payload = {
"name": "<string>",
"provider_config": {
"region": "<string>",
"image": "<string>",
"machine_type_filter": "<string>"
},
"credential_scope": { "kind": "system" }
}
headers = {
"if-match": "<if-match>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'if-match': '<if-match>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: '<string>',
provider_config: {region: '<string>', image: '<string>', machine_type_filter: '<string>'},
credential_scope: {kind: 'system'}
})
};
fetch('https://api.akua.dev/v1/compute_configs/{id}', 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.akua.dev/v1/compute_configs/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'provider_config' => [
'region' => '<string>',
'image' => '<string>',
'machine_type_filter' => '<string>'
],
'credential_scope' => [
'kind' => 'system'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"if-match: <if-match>"
],
]);
$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.akua.dev/v1/compute_configs/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"provider_config\": {\n \"region\": \"<string>\",\n \"image\": \"<string>\",\n \"machine_type_filter\": \"<string>\"\n },\n \"credential_scope\": {\n \"kind\": \"system\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("if-match", "<if-match>")
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.patch("https://api.akua.dev/v1/compute_configs/{id}")
.header("if-match", "<if-match>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"provider_config\": {\n \"region\": \"<string>\",\n \"image\": \"<string>\",\n \"machine_type_filter\": \"<string>\"\n },\n \"credential_scope\": {\n \"kind\": \"system\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.akua.dev/v1/compute_configs/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["if-match"] = '<if-match>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"provider_config\": {\n \"region\": \"<string>\",\n \"image\": \"<string>\",\n \"machine_type_filter\": \"<string>\"\n },\n \"credential_scope\": {\n \"kind\": \"system\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"provider": "hcloud",
"provider_config": {
"provider": "<string>",
"region": "<string>",
"image": "<string>",
"machine_type_filter": "<string>"
},
"secret_id": "<string>",
"created_at": 123
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}{
"success": false,
"errors": [
{
"code": 7002,
"message": "Resource not found",
"path": [
"body",
"name"
],
"metadata": {}
}
],
"result": {}
}Authorizations
workspace API token (sk_akua_...) or OAuth2 JWT. Create tokens at https://akua.dev/developers/api-tokens
Headers
Optional workspace/scope context for the request. Carries a single workspace wire id (ws_…) today. Only needed for broad tokens — a workspace-owned token implies its workspace.
Required string length:
1 - 53Example:
"ws_j572abc123def456"
Optional caller-supplied idempotency key. Any non-empty key up to 64 characters is accepted. Endpoint-specific documentation describes how the key is used.
Required string length:
1 - 64Example:
"create-prod-2026-05-07"
The etag of the resource version the client last read. Required on writes when the resource exposes an etag field. Mismatch returns 409 ABORTED with the current etag in the error metadata.
Required string length:
1 - 256Example:
"42"
Path Parameters
Required string length:
1 - 54Body
application/json
⌘I