কনটেন্টে যান
API গাইড

ত্রুটি

Markdown হিসেবে দেখুন আপডেট করা হয়েছে

প্রতিটি এন্ডপয়েন্ট একইভাবে ব্যর্থ হয়: একটি HTTP স্ট্যাটাস এবং একটি JSON এনভেলপ।

JSON
{
  "error": {
    "type": "invalid_request",
    "code": "invalid_input",
    "message": "duration must be one of 5, 10.",
    "param": "duration",
    "details": [ { "param": "duration", "message": "duration must be one of 5, 10." } ],
    "request_id": null,
    "doc_url": "https://doitong.com/developers/docs/errors#invalid_input"
  }
}
ফিল্ড অর্থ
type ত্রুটির বিস্তৃত শ্রেণি। এটি দেখে কী করতে হবে নির্ধারণ করুন।
code সঠিক কারণ, স্থিতিশীল এবং মেশিন-পাঠ্য। প্রতিটি কোডের নিচে একটি বিভাগ আছে; doc_url সেটির লিংক দেয়।
message মানুষের পড়ার উপযোগী ব্যাখ্যা, লগ করা বা কোনো ডেভেলপারকে দেখানোর জন্য নিরাপদ।
param যে ইনপুট প্যারামিটার বা হেডারটির কারণে সমস্যা হয়েছে, যদি থাকে।
details ইনপুট ত্রুটির ক্ষেত্রে পাওয়া প্রতিটি সমস্যা: [{ "param", "message" }]।
request_id যে রিকোয়েস্টটির সঙ্গে এটি সম্পর্কিত, যদি থাকে।

ত্রুটি ফেরত দেয় এমন কলের জন্য কোনো চার্জ নেওয়া হয় না। গ্রহণ করার পরে ব্যর্থ হওয়া কোনো রিকোয়েস্টের স্ট্যাটাস failed থাকে, রিকোয়েস্ট অবজেক্টে error: { "type", "code", "message" } বহন করে এবং স্বয়ংক্রিয়ভাবে অর্থ ফেরত দেওয়া হয়।

ধরন

ধরন HTTP স্ট্যাটাস কী করতে হবে
invalid_request 400, 413 or 422 রিকোয়েস্ট ঠিক করুন। একই কল আবার চেষ্টা করলেও পুনরায় ব্যর্থ হবে।
authentication_error 401 Authorization: Bearer <key>-এ একটি বৈধ কী পাঠান।
permission_error 403 প্রয়োজনীয় স্কোপসহ একটি কী ব্যবহার করুন।
not_found 404 মডেল আইডি বা রিকোয়েস্ট আইডি পরীক্ষা করুন।
insufficient_credits 402 API ব্যালান্সে টপ-আপ করুন (ত্রুটিতে top_up_url আছে)।
budget_exceeded 402 কীর নিজস্ব বাজেট শেষ হয়ে গেছে। চূড়ান্ত পদক্ষেপ: কীর মালিককে বাজেট বাড়াতে বলুন।
conflict 409 রিসোর্সটি এমন অবস্থায় নেই যেখানে এই কল অনুমোদিত।
rate_limited 429 Retry-After সেকেন্ড অপেক্ষা করে আবার চেষ্টা করুন।
upstream_error 502 মডেল ব্যাকএন্ড ব্যর্থ হয়েছে। একই Idempotency-Key দিয়ে আবার চেষ্টা করা নিরাপদ: এটি পুনরায় চলবে; আপনার কাছ থেকে চার্জ নেওয়া হয়নি।
service_unavailable 503 API বিরতিতে আছে অথবা কোনো নির্ভরতা ডাউন। পরে আবার চেষ্টা করুন।
internal_error 500 আমাদের বাগ। আবার চেষ্টা করুন; সমস্যা চলতে থাকলে সময় এবং request_id-সহ সাপোর্টে যোগাযোগ করুন।

কোড

invalid_request

সাধারণ ত্রুটিপূর্ণ রিকোয়েস্ট (400)।

invalid_json

বডিটি বৈধ JSON নয় (400)।

invalid_body

বডিটি বৈধ JSON, কিন্তু কোনো অবজেক্ট নয়; মডেল ইনপুট অবশ্যই একটি JSON অবজেক্ট হতে হবে (400)।

body_too_large

বডিটি 16 MB-এর চেয়ে বড় (413)। বড় ফাইল আপলোড করে তার পরিবর্তে URL পাঠান (দেখুন ফাইল)।

invalid_parameter

কোনো কোয়েরি প্যারামিটারের মান ভুল, যেমন limit 1 থেকে 100-এর বাইরে, wait সংখ্যা নয়, অজানা status বা category, অথবা permanent / temporary ছাড়া অন্য কোনো storage (400)। param সেটির নাম দেয়।

invalid_category

GET /openapi.json?category= এমন একটি বিভাগের নাম দেয় যা বিদ্যমান নয় (400)। GET https://api.doitong.com/v1/categories সেগুলোর তালিকা দেখায়।

invalid_cursor

কোনো তালিকা কলের cursor এই তালিকার অন্তর্ভুক্ত নয় (400)। কার্সর ছাড়া আবার শুরু করুন।

invalid_idempotency_key

Idempotency-Key হেডারটি খালি অথবা 255 অক্ষরের চেয়ে দীর্ঘ (400)।

invalid_arguments

একটি MCP টুল কলে কোনো আর্গুমেন্ট অনুপস্থিত বা ত্রুটিপূর্ণ (শুধু MCP)। param আর্গুমেন্টটির নাম দেয়।

invalid_input

মডেল ইনপুট যাচাইয়ে উত্তীর্ণ হয়নি (422): অজানা প্যারামিটার (বার্তায় সবচেয়ে কাছের বৈধ নামটি প্রস্তাব করা হয়), প্রয়োজনীয় প্যারামিটার অনুপস্থিত, ভুল ধরন, অনুমোদিত তালিকা বা পরিসরের বাইরে কোনো মান, অথবা একই মান না দিয়ে ক্যানোনিক্যাল ও নেটিভ—দুই নামই দেওয়া হয়েছে। param প্রথম সমস্যাযুক্ত প্যারামিটারটি এবং details সবগুলো প্যারামিটার তালিকাভুক্ত করে। কোনো চার্জ নেওয়া হয় না।

unsupported_file

কোনো ফাইলের ধরন আমরা গ্রহণ করি না (422), যেমন অসমর্থিত এক্সটেনশনসহ আপলোড, অথবা এক্সটেনশনের সঙ্গে না-মেলা content_type।

invalid_webhook_url

webhook_url কোনো সর্বজনীন https:// URL নয় (422)। ব্যক্তিগত, স্থানীয় এবং সাধারণ http:// ঠিকানা প্রত্যাখ্যান করা হয়।

missing_api_key

এন্ডপয়েন্টটির একটি API কী প্রয়োজন, কিন্তু কোনোটি পাঠানো হয়নি (401)।

invalid_api_key

কীটি অজানা, প্রত্যাহৃত বা মেয়াদোত্তীর্ণ (401)।

insufficient_scope

এই কলের জন্য প্রয়োজনীয় স্কোপটি কীর নেই (403), যেমন রান করার জন্য models:run, অথবা রিকোয়েস্ট ও ব্যালান্স পড়ার জন্য models:read। দেখুন প্রমাণীকরণ।

account_disabled

অ্যাকাউন্টটি বন্ধ বা স্থগিত (403)। এর কীগুলো আর কাজ করে না।

not_found

পাথটি বিদ্যমান নয় (404)।

model_not_found

এই আইডিসহ কোনো সর্বজনীন মডেল নেই (404)। GET https://api.doitong.com/v1/models দিয়ে মডেলের তালিকা দেখুন।

request_not_found

আপনার অ্যাকাউন্টে এই আইডিসহ কোনো রিকোয়েস্ট নেই (404)। অন্য অ্যাকাউন্টের রিকোয়েস্ট কখনো দৃশ্যমান হয় না।

insufficient_credits

অ্যাকাউন্টের API ব্যালান্স (API ক্রেডিট, ১,০০০ API ক্রেডিট = ১$ — Doitong অ্যাপগুলোর ক্রেডিট নয়) এই কলের মূল্য পরিশোধের জন্য যথেষ্ট নয় (402)। কোনো চার্জ নেওয়ার আগে প্রতিক্রিয়া পাঠানো হয়। ত্রুটিতে top_up_url থাকে; https://doitong.com/developers/dashboard#balance-এ টাকা যোগ করে আবার চেষ্টা করুন।

JSON
{ "error": { "type": "insufficient_credits", "code": "insufficient_credits",
             "message": "This request costs 560 API credits ($0.56); the API balance is 120 API credits ($0.12). Top up at https://doitong.com/developers/dashboard#balance",
             "top_up_url": "https://doitong.com/developers/dashboard#balance", "doc_url": "https://doitong.com/developers/docs/errors#insufficient_credits" } }

budget_exceeded

কলটি API ক্রেডিটে API কীর নিজস্ব বাজেট অতিক্রম করবে (402)। বাজেট কীর মালিক নির্ধারণ করেন; তিনি না বাড়ানো পর্যন্ত আবার চেষ্টা করে কোনো লাভ হবে না।

conflict

কলটি রিসোর্সের বর্তমান অবস্থার সঙ্গে সাংঘর্ষিক (409)।

idempotency_mismatch

Idempotency-Key আগে ভিন্ন বডির সঙ্গে ব্যবহার করা হয়েছে (409)। নতুন অপারেশনের জন্য নতুন কী ব্যবহার করুন।

idempotency_in_progress

একই Idempotency-Key-সহ একটি রিকোয়েস্ট এই মুহূর্তে তৈরি হচ্ছে (409)। এটি পেতে কিছুক্ষণ পর আবার চেষ্টা করুন।

request_active

রিকোয়েস্টটি এখনও queued বা running, তাই মুছে ফেলার মতো কোনো ফাইল এখনো নেই (409)। এটি শেষ হলে ফাইলগুলো মুছুন।

not_cancelable

রিকোয়েস্টটি ইতিমধ্যে succeeded বা failed এবং বাতিল করা যায় না (409)।

rate_limited

বর্তমান উইন্ডোতে কীটি অতিরিক্ত রিকোয়েস্ট করেছে (429)। X-RateLimit-* এবং Retry-After হেডার দেখুন।

too_many_inflight

অ্যাকাউন্টে ইতিমধ্যে 10টি queued বা running রিকোয়েস্ট আছে (429)। এগুলোর একটি শেষ হলে পরেরটি শুরু করুন।

upstream_error

মডেল ব্যাকএন্ড রিকোয়েস্টটি প্রত্যাখ্যান বা ব্যর্থ করেছে (রানে 502, অথবা রিকোয়েস্টে এই কোডসহ failed)। API ক্রেডিট ফেরত দেওয়া হয়। ব্যাকএন্ড নিজেই ইনপুট প্রত্যাখ্যান করলে কলটি তার বার্তাসহ 422 invalid_input ফেরত দেয়।

upstream_lost

মডেল ব্যাকএন্ড আর রিকোয়েস্টটি জানে না, তাই কোনো ফলাফল আর আসবে না। এটি এই কোডসহ failed হিসেবে শেষ হয় (ধরন upstream_error) এবং অর্থ ফেরত দেওয়া হয়। আবার চালান।

timeout

রিকোয়েস্টটি নির্ধারিত সীমার চেয়ে বেশি সময় চলেছে (ছবির জন্য 15 মিনিট, ভিডিওর জন্য 60, অন্য সবকিছুর জন্য 30) এবং থামিয়ে দেওয়া হয়েছে। এটি এই কোডসহ failed হিসেবে শেষ হয় এবং অর্থ ফেরত দেওয়া হয়।

service_unavailable

API সাময়িকভাবে বিরতিতে আছে, অথবা ফাইল আপলোডের মতো কোনো নির্ভরতা ডাউন (503)। পরে আবার চেষ্টা করুন।

internal_error

আমাদের দিক থেকে কোনো সমস্যা হয়েছে (500)। আবার চেষ্টা করুন; সমস্যা চলতে থাকলে সাপোর্টে যোগাযোগ করুন।

charge_failed

অভ্যন্তরীণ সমস্যার কারণে অ্যাকাউন্টে চার্জ করা যায়নি (500)। রিকোয়েস্টটি failed হিসেবে চিহ্নিত করা হয়েছে; কোনো অর্থ নেওয়া হয়নি। আবার চেষ্টা করুন।

pricing_unavailable

মডেলের মূল্য কনফিগার করা নেই, তাই এই মুহূর্তে এর মূল্য জানানো বা চালানো যায় না (500)।