curl -X POST http://localhost:3000/auth/keys \
-H "Authorization: Bearer $ISOL8_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "ci-runner", "tenantId": "team-infra", "ttlMs": 86400000 }'
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"key": "isol8_4f3c8a1b...",
"name": "ci-runner",
"keyPrefix": "isol8_4f3c...",
"tenantId": "team-infra",
"expiresAt": "2026-03-02T12:00:00.000Z"
}
Create a new DB-backed API key with optional tenant scoping and TTL.
curl -X POST http://localhost:3000/auth/keys \
-H "Authorization: Bearer $ISOL8_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "ci-runner", "tenantId": "team-infra", "ttlMs": 86400000 }'
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"key": "isol8_4f3c8a1b...",
"name": "ci-runner",
"keyPrefix": "isol8_4f3c...",
"tenantId": "team-infra",
"expiresAt": "2026-03-02T12:00:00.000Z"
}
--key flag value). DB-backed auth must be enabled via --auth-db or config.
"default".auth.defaultTtlMs from server config.isol8_. Shown only once.... for display purposes.curl -X POST http://localhost:3000/auth/keys \
-H "Authorization: Bearer $ISOL8_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "ci-runner", "tenantId": "team-infra", "ttlMs": 86400000 }'
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"key": "isol8_4f3c8a1b...",
"name": "ci-runner",
"keyPrefix": "isol8_4f3c...",
"tenantId": "team-infra",
"expiresAt": "2026-03-02T12:00:00.000Z"
}
key is returned only at creation time. It cannot be retrieved later — only the keyPrefix is stored for display.Was this page helpful?