Skip to main content
PATCH
/
workspaces
/
{id}
/
custom_domains
/
{custom_domain_id}
Update custom domain
curl --request PATCH \
  --url https://api.akua.dev/v1/workspaces/{id}/custom_domains/{custom_domain_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'idempotency-key: <idempotency-key>' \
  --header 'if-match: <if-match>' \
  --data '
{
  "target": {
    "install_id": "<string>"
  }
}
'
{
  "id": "<string>",
  "workspace_id": "<string>",
  "organization_id": "<string>",
  "owner_id": "<string>",
  "parent_operation_id": "<string>",
  "done": true,
  "html_url": "https://app.akua.dev/dashboard/installs/inst_j572abc...?tab=operations",
  "metadata": {
    "cluster_id": "<string>"
  },
  "response": {
    "cluster_id": "<string>"
  },
  "error": {
    "message": "<string>"
  },
  "last_error": {
    "message": "<string>",
    "step_name": "<string>"
  },
  "started_at": 1,
  "completed_at": 1,
  "steps": [
    {
      "name": "<string>",
      "started_at": 1,
      "completed_at": 1,
      "error_message": "<string>",
      "retryable": true,
      "skippable": true
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://akua-1dce587a.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

workspace API token (sk_akua_...) or OAuth2 JWT. Create tokens at https://akua.dev/developers/api-tokens

Headers

if-match
string
required

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 - 256
Example:

"42"

idempotency-key
string
required
Required string length: 1 - 64

Path Parameters

id
string
required

Workspace ID

Required string length: 1 - 53
custom_domain_id
string
required

Custom domain ID

Required string length: 1 - 54

Body

application/json
target
object
protocol
enum<string>

Transport class for route forwarding.

Available options:
http,
websocket,
grpc
routing_mode
enum<string>

Whether traffic uses the dispatcher Worker or bypasses it.

Available options:
through_dispatcher,
bypass_dispatcher

Response

Update accepted

id
string
required
Required string length: 1 - 53
workspace_id
string | null
required
Required string length: 1 - 53
organization_id
string | null
required
Required string length: 1 - 54
owner_type
enum<string>
required

Domain entity collection the operation acts on.

Available options:
install,
repository_change_request,
repository,
workspace,
machine,
cluster,
package
owner_id
string
required

Prefixed ID of the entity this operation acts on. Prefix matches owner_type (ws_, mch_, clu_, pkg_, inst_, rcr_, repo_).

parent_operation_id
string | null
required

ID of the chained parent operation, when present.

Required string length: 1 - 53
state
enum<string>
required

Lifecycle state. Past-participle terminal states per AIP-216.

Available options:
RUNNING,
SUCCEEDED,
FAILED,
CANCELLED
done
boolean
required

True iff state is a terminal value.

html_url
string<uri>
required

Deep link to the dashboard view of this operation.

Example:

"https://app.akua.dev/dashboard/installs/inst_j572abc...?tab=operations"

metadata
object
required
response
object
required

Populated only when done && state === "SUCCEEDED". Discriminated by type.

error
object
required

Populated when state is FAILED or CANCELLED.

last_error
object
required

Latest error from any failed step. Populated even mid-flight; cleared when the step succeeds on retry.

started_at
integer
required

Unix timestamp (seconds)

Required range: x >= 0
completed_at
integer | null
required

Unix timestamp (seconds)

Required range: x >= 0
steps
object[]