Skip to main content
POST
/
offers
Create offer
curl --request POST \
  --url https://api.akua.dev/v1/offers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "package_version_id": "<string>",
  "product_id": "<string>",
  "target_workspace_id": "<string>",
  "allowed_emails": [
    "jsmith@example.com"
  ],
  "field_values": {},
  "tier": "<string>",
  "region_id": "<string>",
  "cluster_id": "<string>",
  "offer_channel_id": "<string>",
  "notes": "<string>",
  "expires_at": 123,
  "max_uses": 123
}
'
{
  "id": "<string>",
  "short_hash": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.akua.dev/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"

Body

application/json
package_version_id
string
required

Package version ID — pinned at create time

Required string length: 1 - 55
product_id
string

Optional Product to attribute branding to

Required string length: 1 - 55
target_workspace_id
string

Optional existing workspace that receives the offer outcome

Required string length: 1 - 53
allowed_emails
string<email>[]

Empty / omitted = open to anyone authed

Maximum array length: 50
Maximum string length: 254
field_values
object

Pre-fill values keyed by package input-schema property name

tier
string
Maximum string length: 32
region_id
string

Region pin

Required string length: 1 - 54
cluster_id
string

Cluster pin

Required string length: 1 - 54
offer_channel_id
string

Optional Offer Channel whose active policy resolves commercial terms

Required string length: 1 - 54
commercial_mode
enum<string>

Requested customer path. Not settlement authority.

Available options:
paid,
non_billable_test
pricing_request
object

Requested customer-visible price. The resolver validates against policy.

notes
string
Maximum string length: 500
expires_at
integer
max_uses
integer
Required range: x <= 10000

Response

Offer created

id
string
required

Offer ID

Required string length: 1 - 56
short_hash
string
required