Skip to main content
GET
/
api
/
v1
/
admin
/
credentials
curl -X GET https://alfred.black/api/v1/admin/credentials \
  -H "Authorization: Bearer alf_your_key_here"
{
  "credentials": [
    {
      "key": "OPENROUTER_API_KEY",
      "label": "OpenRouter",
      "description": "Routes to 200+ models. Primary provider for all OpenClaw agents",
      "set": true,
      "masked": "sk-or-v1...a3b4",
      "used_by": [
        "OpenClaw agents (all)",
        "Surveyor (labeler)",
        "Surveyor (embedder, if configured)"
      ]
    },
    {
      "key": "ANTHROPIC_API_KEY",
      "label": "Anthropic",
      "description": "Direct Claude access. Required when using anthropic/ models directly",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    },
    {
      "key": "OPENAI_API_KEY",
      "label": "OpenAI",
      "description": "GPT-4, GPT-4o, and other OpenAI models",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    },
    {
      "key": "XAI_API_KEY",
      "label": "xAI",
      "description": "Grok models from xAI",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    },
    {
      "key": "GOOGLE_API_KEY",
      "label": "Google",
      "description": "Gemini and other Google AI models",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    }
  ]
}
Returns every known credential slot with its current status. Values are masked for security — only the first 8 and last 4 characters are shown. Use this to check which providers are configured before changing agent models.

Response

credentials
array
List of credential objects, one per known provider key.

Known credentials

KeyLabelUsed by
OPENROUTER_API_KEYOpenRouterAll OpenClaw agents, Surveyor labeler, Surveyor embedder (if configured)
ANTHROPIC_API_KEYAnthropicOpenClaw agents (when using anthropic/ models directly)
OPENAI_API_KEYOpenAIOpenClaw agents (when using openai/ models)
XAI_API_KEYxAIOpenClaw agents (when using xAI/Grok models)
GOOGLE_API_KEYGoogleOpenClaw agents (when using Google/Gemini models)
The AAS_API_KEY (tenant internal API key) is protected and cannot be viewed or modified through this endpoint.

Request Example

curl -X GET https://alfred.black/api/v1/admin/credentials \
  -H "Authorization: Bearer alf_your_key_here"

Response Example

{
  "credentials": [
    {
      "key": "OPENROUTER_API_KEY",
      "label": "OpenRouter",
      "description": "Routes to 200+ models. Primary provider for all OpenClaw agents",
      "set": true,
      "masked": "sk-or-v1...a3b4",
      "used_by": [
        "OpenClaw agents (all)",
        "Surveyor (labeler)",
        "Surveyor (embedder, if configured)"
      ]
    },
    {
      "key": "ANTHROPIC_API_KEY",
      "label": "Anthropic",
      "description": "Direct Claude access. Required when using anthropic/ models directly",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    },
    {
      "key": "OPENAI_API_KEY",
      "label": "OpenAI",
      "description": "GPT-4, GPT-4o, and other OpenAI models",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    },
    {
      "key": "XAI_API_KEY",
      "label": "xAI",
      "description": "Grok models from xAI",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    },
    {
      "key": "GOOGLE_API_KEY",
      "label": "Google",
      "description": "Gemini and other Google AI models",
      "set": false,
      "masked": null,
      "used_by": [
        "OpenClaw agents (if model requires it)"
      ]
    }
  ]
}