وضعیت کلید

GET /v1/key — سقف‌ها، مصرف پنجرهٔ جاری و باقی‌مانده، بدون باز کردن پنل.

GEThttps://iranrouter.com/v1/key

سقف‌های این کلید، مصرف پنجرهٔ جاری و باقی‌مانده — بدون باز کردن پنل. برای ایجنتی که می‌خواهد پیش از یک کار سنگین بداند جا دارد یا نه، همین کافی است.

JSON
{
  "object": "key",
  "plan": "pro",
  "limits": {
    "requests_per_minute": 60,
    "requests_per_hour": 1000,
    "requests_per_day": 10000,
    "tokens_per_minute": 200000,
    "monthly_budget_rial": null
  },
  "usage": {
    "requests_this_hour": 42,
    "requests_today": 380,
    "spend_mtd_rial": 1840000
  },
  "remaining": {
    "requests_this_hour": 958,
    "requests_today": 9620,
    "budget_rial": null
  }
}
مقدار null یعنی «بدون سقف»، نه صفر. یک ایجنت که null را صفر بخواند خودش را بی‌دلیل متوقف می‌کند.

توضیح سقف‌ها ←

GEThttps://iranrouter.com/v1/generation?id={request_id}

یک درخواست گذشتهٔ همین حساب با x-request-id آن: توکن‌ها به تفکیک کلاس، شمارش‌ها (تصویر، جستجو، صفحهٔ OCR)، مبلغ ریالی، تأخیر و وضعیت — همان اعدادی که داشبورد نشان می‌دهد. ردیف چند ثانیه بعد از پاسخ ثبت می‌شود؛ درخواست بلافاصله ممکن است ۴۰۴ بگیرد.

Shell
curl "https://iranrouter.com/v1/generation?id=3f6c...-request-id" -H "Authorization: Bearer ir-..."
JSON
{
  "id": "3f6c...", "object": "generation", "model": "openai/gpt-4o-mini", "status": "success", "streamed": true,
  "usage": { "prompt_tokens": 24, "completion_tokens": 108, "total_tokens": 132,
             "prompt_tokens_details": { "cached_tokens": 0, "cache_write_tokens": 0, "audio_tokens": 0, "image_tokens": 0 },
             "completion_tokens_details": { "reasoning_tokens": 0, "audio_tokens": 0, "image_tokens": 0 },
             "cost_rial": 1840, "discount_pct": 0, "estimated": false },
  "latency": { "ttft_ms": 412, "total_ms": 2210 }
}