Skip to main content
POST
/
offers
/
{offer}
/
order_drafts
Create order draft
curl --request POST \
  --url https://api.akua.dev/v1/offers/{offer}/order_drafts \
  --header 'Authorization: Bearer <token>'
{
  "id": "<string>",
  "offer_id": "<string>",
  "cluster_ready": true,
  "server_joined": true,
  "payment_completed": true,
  "created_at": 1,
  "updated_at": 1,
  "etag": "<string>",
  "ttl_expires_at": 1,
  "user_id": "<string>",
  "customer_email": "<string>",
  "workspace_id": "<string>",
  "cluster_id": "<string>",
  "current_checkout_session": {
    "id": "cs_test_...",
    "draft_revision": 1,
    "url": "<string>",
    "expires_at": 1
  },
  "install_operation_id": "<string>",
  "order": {
    "id": "<string>",
    "stripe_checkout_id": "<string>",
    "draft_revision": 1,
    "committed_at": 1
  },
  "delivery": {
    "id": "<string>",
    "urls": [
      {
        "route_key": "<string>",
        "hostname": "<string>",
        "url": "<string>",
        "updated_at": 1,
        "error": "<string>",
        "last_observed_at": 1
      }
    ],
    "install_id": "<string>",
    "install_operation_id": "<string>",
    "started_at": 1,
    "completed_at": 1
  },
  "field_values": {}
}

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

idempotency-key
string

Caller-supplied idempotency key. Repeated requests with the same key return the existing resource instead of creating a duplicate. Safe to retry after a timed-out or interrupted request.

Required string length: 1 - 64
Example:

"create-prod-2026-05-07"

Path Parameters

offer
string
required

Parent offer ID

Required string length: 1 - 56
Example:

"offer_j572abc..."

Response

Order draft started

id
string
required

Order draft ID

Required string length: 1 - 55
offer_id
string
required

Offer this order draft is redeeming

Required string length: 1 - 56
status
enum<string>
required

Wizard phase. Driven by the order draft actor; mirrored on every patch to the row so reactive UIs render one column. done and terminated are terminal.

Available options:
auth,
workspace,
compute,
compute_bootstrap,
configure,
payment,
install,
done,
cleaning_up,
terminated
cluster_ready
boolean
required
server_joined
boolean
required
payment_completed
boolean
required
created_at
integer
required

Unix timestamp (seconds)

Required range: x >= 0
updated_at
integer
required

Unix timestamp (seconds)

Required range: x >= 0
etag
string
required
ttl_expires_at
integer
required

Unix timestamp (seconds)

Required range: x >= 0
termination_reason
enum<string>

Set when status=terminated; explains why the order draft ended.

Available options:
timeout,
revoked,
offer_expired,
install_failed,
cluster_allocation_failed,
quota_exceeded
user_id
string

Authenticated customer

Minimum string length: 1
customer_email
string
workspace_id
string

Workspace selected/created during the workspace phase

Required string length: 1 - 53
cluster_id
string

Cluster allocated during the compute phase

Required string length: 1 - 54
current_checkout_session
object
install_operation_id
string

Operation tracking the spawned install workflow

Required string length: 1 - 53
order
object
delivery
object
field_values
object

Customer-supplied configure values, including any pre-fills from the offer. Only returned to the order draft’s own customer; never to other authed callers.