{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/immersivecommons-com/json-schema/immersivecommons-com-credits-request-request-schema.json",
  "title": "CreditsRequestRequest",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/immersivecommons-com-openapi.json#/components/schemas/CreditsRequestRequest",
  "type": "object",
  "required": [
    "kind"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "workshop",
        "member",
        "benchmark"
      ],
      "description": "workshop = any signed-in user (walk-ins; 5h + $5, event-tied); member = ft-member and above (monthly budget); benchmark = operator only."
    },
    "event_id": {
      "type": "string",
      "description": "Required for a workshop key: the upcoming event it is for (Luma URL or hackathon slug)."
    },
    "event_title": {
      "type": "string"
    },
    "budget_usd": {
      "type": "number",
      "enum": [
        5,
        10,
        20,
        50,
        100
      ],
      "description": "Monthly budget of IC Credits in USD (member / benchmark). Default: the ring default (operator 50, ic-member 20, ai-floor / ft-member 10). At or under the default mints instantly; above it queues for an operator, who picks the applied figure."
    },
    "multiplier": {
      "type": "number",
      "description": "LEGACY weekly-token multiplier (pre-2026-09-15). Accepted and ignored; use budget_usd."
    },
    "default_model": {
      "type": "string",
      "description": "The catalog model id to pin as the key's default (the bundle's ANTHROPIC_MODEL). Ids with a / are metered in USD. Unknown id = 400. Omitted = the gateway's default."
    },
    "note": {
      "type": "string",
      "description": "Free text recorded on the request."
    }
  }
}