curl -X POST 'https://api.60db.ai/developer/api' \
-H "Authorization: Bearer $SIXTYDB_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "WhatsApp server",
"permissions": { "whatsapp": true }
}'
{
"success": true,
"message": "API key created successfully",
"data": {
"id": 42,
"hash_id": "example-public-key-id",
"name": "WhatsApp server",
"api_key": "sk_live_EXAMPLE_REPLACE_WITH_YOUR_SECRET",
"permissions": { "whatsapp": true },
"allowed_ips": [],
"created_at": "2026-10-07T10:00:00Z",
"warning": "Store this API key securely. You will not be able to view it again."
}
}
API Keys
Create API Key
Create a workspace key for native 60db APIs
POST
/
developer
/
api
curl -X POST 'https://api.60db.ai/developer/api' \
-H "Authorization: Bearer $SIXTYDB_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "WhatsApp server",
"permissions": { "whatsapp": true }
}'
{
"success": true,
"message": "API key created successfully",
"data": {
"id": 42,
"hash_id": "example-public-key-id",
"name": "WhatsApp server",
"api_key": "sk_live_EXAMPLE_REPLACE_WITH_YOUR_SECRET",
"permissions": { "whatsapp": true },
"allowed_ips": [],
"created_at": "2026-10-07T10:00:00Z",
"warning": "Store this API key securely. You will not be able to view it again."
}
}
Create a key in Developers → API Keys or through this endpoint. A current workspace owner, admin or developer must be allowed to create keys. The backend checks live membership and Cerbos permissions; creating a key does not change the workspace’s plan or the creator’s role.
A WhatsApp-only key can read/manage/send only where its creator’s current role and workspace plan permit; it cannot connect an account through Embedded Signup. AI workflows also need the native scopes they use. Sending and management require Starter, Creator or Pro platform access; Flow licences do not include WhatsApp.
Keep API keys out of browser code and version control. Your server calls native 60db endpoints with the key; it does not need the customer’s Meta token or the platform’s shared Meta app secret. See authentication and module scopes and WhatsApp resources.
Request
string
required
Bearer token for an authenticated 60db principal allowed to create keys in this workspace.
string
required
application/json
string
required
Descriptive key name, 2–150 characters.
object
Optional boolean module scopes:
tts, stt, slm, memory, judge, whatsapp.
Omit the object to use the six-module default. If supplied, only fields set to
boolean true grant module access; omitted fields and false do not grant access.
String booleans and unknown module names are rejected. Existing keys are unchanged.string[]
Optional IP allowlist. An omitted or empty array leaves the key without an IP restriction.
curl -X POST 'https://api.60db.ai/developer/api' \
-H "Authorization: Bearer $SIXTYDB_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "WhatsApp server",
"permissions": { "whatsapp": true }
}'
Response
The response hassuccess, message and data. Store data.api_key on your application’s server.
number
Database key ID.
string
Public key identifier used by the dashboard.
string
Key name.
string
Secret used as a Bearer API key.
object
Stored module scopes.
object[]
Recorded allowlist entries.
string
Creation timestamp.
{
"success": true,
"message": "API key created successfully",
"data": {
"id": 42,
"hash_id": "example-public-key-id",
"name": "WhatsApp server",
"api_key": "sk_live_EXAMPLE_REPLACE_WITH_YOUR_SECRET",
"permissions": { "whatsapp": true },
"allowed_ips": [],
"created_at": "2026-10-07T10:00:00Z",
"warning": "Store this API key securely. You will not be able to view it again."
}
}