Skip to main content
POST
/
installs
/
{id}
/
preview_hostnames:bindPinned
Bind pinned preview hostname
curl --request POST \
  --url https://api.akua.dev/v1/installs/{id}/preview_hostnames:bindPinned \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'idempotency-key: <idempotency-key>' \
  --data '
{
  "render_id": "<string>",
  "protocol": "http",
  "routing_mode": "through_dispatcher"
}
'
{
  "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

akua-context
string

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

"ws_j572abc123def456"

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

Path Parameters

id
string
required

Install ID

Required string length: 1 - 55

Body

application/json
render_id
string
required
Required string length: 1 - 54
protocol
enum<string>
default:http

Transport class for route forwarding.

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

Whether traffic uses the dispatcher Worker or bypasses it.

Available options:
through_dispatcher,
bypass_dispatcher

Response

Bind 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[]