{% extends "base.html" %} {% block title %}Import Upstream Keys - Janus{% endblock %} {% block inventory_active %}bg-gray-700 text-white{% endblock %} {% block content %}

Key Inventory

{% with active='import' %}{% include "inventory_nav.html" %}{% endwith %}

Expected JSON format

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.

Upload file

{% endblock %}