{% extends "base.html" %} {% block title %}Import Upstream Keys - Janus{% endblock %} {% block inventory_active %}bg-gray-700 text-white{% endblock %} {% block content %}
Upload a .json export from another key manager
(e.g. Dashboard_For_Apis) or any file that matches the shape below.
Janus accepts either a top-level keys array or a bare array of key objects.
Wrapped export
{
"keys": [
{
"key_value": "sk-proj-...",
"provider_id": "openai",
"key_label": "work account",
"status": "active",
"is_valid": true,
"credits_remaining": 42.5
}
]
}
Bare array
[
{
"key": "gsk_...",
"provider_id": "groq",
"priority": 0
},
{
"key_value": "sk-or-...",
"node_id": "laptop-1"
}
]
| Field | Required | Notes |
|---|---|---|
| key_value | Yes* | API key string. Alias: key |
| provider_id | No | e.g. openai, groq. Auto-detected from key prefix when omitted. |
| key_label | No | Friendly name shown in the key list. |
| custom_base_url | No | Override upstream base URL for custom/proxy endpoints. |
| node_id / source_node | No | Source machine or node label from the export. |
| priority | No | Integer routing priority (default 0). |
| status, credits_*, health_* | No | Optional metadata from the source export. Janus re-validates keys after import. |
* Each object must include key_value or key.
Duplicate keys (same hash) are skipped or updated per ingestion rules.