Get API key
Account

Create a key

Creates an inference key of your own. The answer, 201, carries the key object in data and the key itself in key, which no later answer repeats. OpenRouter's other create fields, such as include_byok_in_limit and workspace_id, are accepted and ignored, except external.api_key, which is a 400: llm.buzz issues its own keys.

POST/api/v1/keys
Request
curl -X POST https://api.llm.buzz/api/v1/keys \
  -H "Authorization: Bearer $LLM_BUZZ_MANAGEMENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "CI key",
  "limit": 5,
  "limit_reset": "monthly"
}'
Response
{
  "data": {
    "hash": "...",
    "name": "CI key",
    "label": "CI key",
    "disabled": false,
    "created_at": "...",
    "updated_at": null,
    "expires_at": null,
    "last_used_at": null,
    "limit": 5,
    "limit_remaining": 5,
    "limit_reset": "monthly",
    "include_byok_in_limit": false,
    "usage": 0,
    "usage_daily": 0,
    "usage_weekly": 0,
    "usage_monthly": 0,
    "byok_usage": 0,
    "byok_usage_daily": 0,
    "byok_usage_weekly": 0,
    "byok_usage_monthly": 0,
    "creator_user_id": "...",
    "external_user": null,
    "workspace_id": "default"
  },
  "key": "exp_vk_..."
}

Authorization

A management key, created on the console's Keys page, as Authorization: Bearer KEY. The samples read it from $LLM_BUZZ_MANAGEMENT_KEY; an inference key gets 403 management_key_required.

Keys and limits

Body application/json

  • namestringrequired

    1 to 64 characters.

  • limitnumber

    A spending limit in US dollars, at most nine decimal places; null for none.

  • limit_resetstring

    The limit's period in UTC, a week starting on Monday; null counts the key's whole life.

    dailyweeklymonthly
  • expires_atstring

    When the key expires: ISO 8601 with seconds and an offset, in the future, such as 2027-12-31T23:59:59Z. Omitted, it never expires.

Response 201

The key object and the key.

Errors

  • 400

    The body is not JSON (invalid_json), a field or query value is invalid (invalid_parameter, with metadata.param), or a PATCH sets no field (invalid_request).

  • 401

    No Authorization header (missing_authentication), or the key is unknown, expired, revoked or disabled (invalid_key).

  • 403

    An inference key called a route that takes a management key. Create one on the console's Keys page.

Every error code

Docs