/v1/api-keysAuthCreate API Key
Create a new API key. The full key value is returned only in this response — it cannot be retrieved again. Copy and store it securely (e.g. in an environment variable).
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Required | Human-readable label (e.g. "Production", "FoxGuard Widget") |
scope | "full" | "verify" | "lists" | "read-only" | Optional · "full" | Permission scope. full = all endpoints, verify = email verification only, lists = list management only, read-only = GET requests only. |
ipRestrictions | string[] | Optional · [] | Allowlist of IP addresses. Empty array means no IP restriction. |
expiresInDays | number | null | Optional · null | Days until the key expires (1–365). null = never expires. |
namestring*Human-readable label (e.g. "Production", "FoxGuard Widget")
scope"full" | "verify" | "lists" | "read-only"optPermission scope. full = all endpoints, verify = email verification only, lists = list management only, read-only = GET requests only.
ipRestrictionsstring[]optAllowlist of IP addresses. Empty array means no IP restriction.
expiresInDaysnumber | nulloptDays until the key expires (1–365). null = never expires.
curl -X POST "https://api.verifox.ai/v1/api-keys" \
-H "X-API-Key: vfx_your_api_key" \
-H "Content-Type: application/json" \
-d '{"name": "Production Key", "scope": "full", "ipRestrictions": [], "expiresInDays": null}'{
"id": "key_abc123",
"name": "Production Key",
"prefix": "vfx_prod",
"key": "vfx_prod_sk_live_abc123...",
"scope": "full",
"ipRestrictions": [],
"expiresAt": null,
"createdAt": "2026-03-31T10:30:00Z",
"warning": "Store this key securely — it will not be shown again."
}