Skip to main content
POST
/
v1
/
projects
/
{projectId}
/
api-keys
Create API Key
curl --request POST \
  --url https://api.example.com/v1/projects/{projectId}/api-keys \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Key: <x-access-key>' \
  --header 'X-Signature: <x-signature>' \
  --header 'X-Timestamp: <x-timestamp>' \
  --data '
{
  "name": "<string>",
  "permissions": [
    {}
  ],
  "expiresAt": "<string>",
  "ipAllowlist": [
    {}
  ]
}
'
{
  "apiKey": {
    "keyId": "<string>",
    "clientKey": "<string>",
    "secretKey": "<string>",
    "name": "<string>",
    "permissions": [
      {}
    ],
    "createdAt": "<string>"
  }
}

Create API Key

Create a new API key for authenticating server-side requests.
The secret key is only shown once upon creation. Store it securely.

Authentication

X-Access-Key
string
required
API access key
X-Signature
string
required
HMAC-SHA256 signature
X-Timestamp
string
required
ISO 8601 timestamp

Path Parameters

projectId
string
required
The project identifier

Request Body

name
string
required
Display name for the API key
permissions
array
Array of permission scopes
expiresAt
string
Expiration date (ISO 8601). If not provided, key never expires.
ipAllowlist
array
Array of allowed IP addresses or CIDR ranges

Response

apiKey
object

Example

curl -X POST https://api.axonvault.io/v1/projects/proj_abc123/api-keys \
  -H "X-Access-Key: ak_live_abc123" \
  -H "X-Signature: sha256=..." \
  -H "X-Timestamp: 2024-01-15T10:30:00Z" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Server",
    "permissions": ["wallets:read", "wallets:write", "transactions:write"],
    "ipAllowlist": ["203.0.113.0/24"]
  }'
Response:
{
  "apiKey": {
    "keyId": "key_abc123",
    "clientKey": "ak_live_xyz789",
    "secretKey": "sk_live_secret_key_only_shown_once",
    "name": "Production Server",
    "permissions": ["wallets:read", "wallets:write", "transactions:write"],
    "ipAllowlist": ["203.0.113.0/24"],
    "createdAt": "2024-01-15T10:30:00Z"
  }
}

Available Permissions

PermissionDescription
wallets:readRead wallet information
wallets:writeCreate and modify wallets
accounts:readRead account information
accounts:writeCreate and modify accounts
addresses:readRead address information
addresses:writeDerive new addresses
transactions:readRead transaction information
transactions:writeBuild and submit transactions
signing:writeSign transactions and hashes
policies:readRead policy rules
policies:writeCreate and modify policies