Rivya AI ডকস

API Errors and Limits

Rivya API public error codes, HTTP status values, rate limits, idempotency conflicts এবং retry decisions handle করুন।

শেষ review 2026/05/11

Rivya API JSON-এ stable public error codes return করে। integration contract হিসেবে error.code value ব্যবহার করুন।

Error Shape

{
  "error": {
    "code": "api_key_missing",
    "message": "A valid Bearer API key is required.",
    "requestId": "req_..."
  }
}

failed API request তদন্তের জন্য Rivya support-কে বলার সময় আপনার logs-এ requestId রাখুন।

Stable Error Codes

CodeHTTP statusMeaningSuggested action
public_api_disabled503Public API calls temporarily disabled।পরে retry করুন বা Studio manually ব্যবহার করুন।
api_key_missing401request-এ Bearer API key নেই।Authorization: Bearer rvya_sk_... পাঠান।
api_key_invalid401key verify করা যাচ্ছে না।key check করুন এবং দরকার হলে rotate করুন।
api_key_revoked401key Settings-এ revoked হয়েছে।new key তৈরি করুন।
api_key_expired401key আর valid নয়।new key তৈরি করুন।
api_scope_denied403key-তে required scope নেই।needed scope সহ key তৈরি করুন।
rate_limited429current window-এ too many requests।back off করে পরে retry করুন।
validation_failed400body, model, prompt বা params invalid।model reference-এর সঙ্গে body compare করুন।
not_found404requested task নেই বা account-এর নয়।public task ID এবং account boundary check করুন।
webhook_url_rejected400webhook endpoint URL allowed নয়।credentials, fragments, localhost বা private network addresses ছাড়া HTTPS public URL ব্যবহার করুন।
chat_model_not_supported400selected model Chat API-এর জন্য available নয়।/api/v1/models read করুন এবং available chat model বেছে নিন।
chat_session_conflict409chat session এই request-এর জন্য ব্যবহার করা যাবে না।একই account এবং model-এর API-created session ব্যবহার করুন।
chat_attachment_not_supported400chat attachment supported নয়।Files API দিয়ে image upload করুন এবং তার file_id pass করুন।
idempotency_conflict409একই idempotency key ভিন্ন input দিয়ে reuse করা হয়েছে।new key ব্যবহার করুন বা exact same body resend করুন।
insufficient_credits402account-এ যথেষ্ট credits নেই।credits যোগ করুন বা lower-cost request বেছে নিন।
internal_error500request complete করা যায়নি।idempotency সহ retry করুন বা requestId দিয়ে support-এ contact করুন।

Rate Limits

Rivya প্রতি API key অনুযায়ী application-level Public API rate limits apply করে। default production limit PUBLIC_API_RATE_LIMIT_PER_MINUTE দিয়ে configured।

rate_limited পেলে exponential backoff ব্যবহার করুন। tight loop-এ retry করবেন না।

Idempotent Retries

প্রতিটি production POST /api/v1/generations এবং POST /api/v1/chat/completions request-এর সঙ্গে Idempotency-Key পাঠান।

Recommended pattern:

  • প্রতি logical generation request-এর জন্য unique key generate করুন
  • একই body retry করার সময়ই শুধু same key reuse করুন
  • returned public task ID আপনার job record-এ store করুন
  • Chat API-এর জন্য একই conversation continue করতে চাইলে returned session_id store করুন
  • এক key ভিন্ন model, prompt বা params-এর জন্য reuse করবেন না

submission-এর পরে network fail করলে same body এবং same Idempotency-Key দিয়ে retry করুন। Rivya duplicate task create না করে stored public response return করতে পারে।

Retry Decisions

এগুলো backoff সহ retry করুন:

  • public_api_disabled
  • rate_limited
  • internal_error
  • temporary network failures

input না বদলে এগুলো retry করবেন না:

  • api_key_invalid
  • api_key_revoked
  • api_scope_denied
  • validation_failed
  • webhook_url_rejected
  • chat_model_not_supported
  • chat_session_conflict
  • chat_attachment_not_supported
  • idempotency_conflict
  • insufficient_credits

Table of Contents