Skip to main content
POST
/
secrets
Create secret
curl --request POST \
  --url https://api.akua.dev/v1/secrets \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "value": "<string>",
  "description": "<string>",
  "labels": {}
}
'
{
  "id": "<string>",
  "workspace_id": "<string>",
  "name": "<string>",
  "kind": "generic",
  "validation": {
    "validated_at": 1,
    "error": "<string>"
  },
  "version_count": 1,
  "enabled_version_count": 1,
  "created_at": 1,
  "updated_at": 1,
  "etag": "<string>",
  "description": "<string>",
  "labels": {},
  "mime_type": "<string>",
  "version_aliases": {},
  "deleted_at": 1,
  "purge_at": 1,
  "expire_time": 1
}

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"

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"

Body

application/json
name
string
required
Required string length: 1 - 200
kind
enum<string>
required
Available options:
cloud_provider/hcloud
value
string
required
Minimum string length: 1
description
string
Maximum string length: 500
labels
object

Response

Secret created

id
string
required
Required string length: 1 - 54
workspace_id
string
required
Required string length: 1 - 53
name
string
required
Required string length: 1 - 200
kind
string
required

Secret kind. Current public create values: cloud_provider/hcloud, cloud_provider/aws, cloud_provider/gcp, cloud_provider/azure, oci_registry, cloudflare_api, webhook_signing, generic. cloud_credential is migration-only metadata and cannot be used for new public creates.

Example:

"generic"

state
enum<string>
required
Available options:
active,
soft_deleted
validation
object
required

Server-managed validation telemetry. Populated for credential-typed secrets; null otherwise. OUTPUT_ONLY — clients cannot set this on create/update.

version_count
integer
required
Required range: x >= 0
enabled_version_count
integer
required
Required range: x >= 0
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
description
string
Maximum string length: 500
labels
object
mime_type
string
Maximum string length: 100
version_aliases
object
deleted_at
integer

Unix timestamp (seconds)

Required range: x >= 0
purge_at
integer

Unix timestamp (seconds)

Required range: x >= 0
expire_time
integer

Unix timestamp (seconds)

Required range: x >= 0