رفتن به محتوا

مرجع API

گفت‌وگوها و Chat Completions

اگر کلاینت شما با قالب Chat Completions کار می‌کند، از همین بخش استفاده کنید. با عملیات گفت‌وگو هم می‌توانید پیام‌ها و اجراهای ذخیره‌شده را ببینید.

روند کار

  1. 01ساخت Chat Completion
  2. 02فهرست گفت‌وگوها
  3. 03دریافت اطلاعات گفت‌وگو

روی هر عملیات بزنید تا همهٔ ورودی‌ها، request، response و کدهای وضعیت آن را ببینید.

ساخت Chat Completion

POST/v1/chat/completions
آدرس پایهٔ APIhttps://api.mahvashai.ir
احراز هویتAPI key پروژه یا JWT کاربر
Responseresponse مستقیم با قالب OpenAI
نوع محتواapplication/json

پارامترها

این جدول همهٔ ورودی‌هایی را که این endpoint می‌پذیرد نشان می‌دهد. مقدارهای نمونه‌ها ساختگی‌اند و یک روش امن برای یکپارچه‌سازی را نشان می‌دهند.

ناممحل ارسالنوعالزامیپشتیبانیتوضیحات
Idempotency-KeyHeaderstringاختیاریپشتیبانی می‌شودکلید تکرار امن برای یک اجرا؛ اگر دوباره فرستاده شود، همان نتیجهٔ اول برمی‌گردد.
X-Request-IDHeaderstringاختیاریمخصوص مهوششناسهٔ ردگیری که کلاینت می‌فرستد. در همهٔ پاسخ‌ها برمی‌گردد و اگر فرستاده نشود یا قالبش درست نباشد، سرور شناسهٔ تازه‌ای می‌سازد.
X-Mahvash-ProjectHeaderstringاختیاریمخصوص مهوشslug یا شناسهٔ پروژه در سازمان شما. دامنهٔ request را محدودتر می‌کند و هرگز دسترسی بیشتری نمی‌دهد.
asset_idsBodyarray<value>اختیاریمخصوص مهوشفایل‌های قابل استفادهٔ مجدد شما که به آخرین پیام کاربر پیوست می‌شوند.
audioBodyobjectاختیاریمشروطتنظیمات خروجی صوتی؛ به مسیری نیاز دارد که خروجی صوتی را پشتیبانی کند.
chat_idBodystringاختیاریمخصوص مهوشادامهٔ یک گفت‌وگوی ذخیره‌شده که به شما تعلق دارد.
frequency_penaltyBodynumberاختیاریپشتیبانی می‌شودجریمهٔ تکرار واژه‌ها، بین ۲- تا ۲.
function_callBodystring | objectاختیاریمنسوخروش قدیمی انتخاب function. tool_choice را ترجیح دهید.
functionsBodyarray<value>اختیاریمنسوختعریف قدیمی functionها. tools را ترجیح دهید.
id_chatBodystringاختیاریمنسوخنام قدیمی chat_id. در کلاینت‌های تازه از chat_id استفاده کنید.
logit_biasBodyobjectاختیاریمشروطحداکثر ۳۰۰ مقدار bias برای شناسهٔ tokenها، هر کدام بین ۱۰۰- تا ۱۰۰.
logprobsBodybooleanاختیاریمشروطاحتمال tokenها را درخواست می‌کند؛ مسیر باید از آن پشتیبانی کند. نتیجه در choices[].logprobs و هنگام stream در هر chunk می‌آید.
managed_toolsBodyobjectاختیاریمخصوص مهوشابزارهایی که خود مهوش اجرا می‌کند. اگر این فیلد را نفرستید، ابزارهای فعال پروژه خودکار در اختیار مدل قرار می‌گیرند؛ enabled=false همه را خاموش می‌کند، tools فهرست را محدود می‌کند و max_rounds سقف تعداد نوبت‌های استفاده از ابزار است.
max_completion_tokensBodyintegerاختیاریپشتیبانی می‌شودسقف tokenهای خروجی، از ۱ تا ۱٬۰۰۰٬۰۰۰.
max_output_tokensBodyintegerاختیاریمخصوص مهوشنام جایگزین پذیرفته‌شده برای max_completion_tokens.
max_tokensBodyintegerاختیاریمنسوخسقف قدیمی token خروجی. max_completion_tokens را ترجیح دهید.
messagesBodyarray<value>الزامیپشتیبانی می‌شودپیام‌های گفت‌وگو؛ بین ۱ تا ۱٬۰۰۰ مورد.
metadataBodyobjectاختیاریپشتیبانی می‌شودشیء metadata با اندازهٔ محدود برای ارائه‌دهنده یا اپلیکیشن شما.
modalitiesBodyarray<value>اختیاریمشروطنوع‌های خروجی درخواستی (modality)؛ هر کدام به قابلیت خروجی مربوط به خودش نیاز دارد.
modeBodystringاختیاریمخصوص مهوشحالت انتخاب خودکار مدل، وقتی مدل مشخصی نفرستاده‌اید.
modelBodystringاختیاریپشتیبانی می‌شودشناسهٔ عمومی مدل. اگر نفرستید، مدل خودکار انتخاب می‌شود.
nBodyintegerاختیاریمشروطتعداد پاسخ‌های جایگزین. مقدار بیشتر از ۱ به پشتیبانی صریح مسیر نیاز دارد.
parallel_tool_callsBodybooleanاختیاریمشروطاجازهٔ فراخوانی همزمان چند ابزار، در مسیرهایی که از آن پشتیبانی می‌کنند.
predictionBodyobjectاختیاریمشروطتنظیمات predicted output که به مسیرهای سازگار فرستاده می‌شود.
presence_penaltyBodynumberاختیاریپشتیبانی می‌شودجریمهٔ حضور واژه، بین ۲- تا ۲.
projectBodystringاختیاریمخصوص مهوشslug یا شناسهٔ پروژه برای این request؛ مقدار متناقض رد می‌شود.
prompt_cache_keyBodystringاختیاریمشروطنام بخشی از prompt cache؛ پیش از رسیدن به ارائه‌دهنده به سازمان شما محدود می‌شود. مسیر باید از آن پشتیبانی کند.
prompt_cache_retentionBodystringاختیاریمشروطمدت نگهداری ترجیحی prompt cache؛ مسیر باید از آن پشتیبانی کند.
prompt_idBodystringاختیاریمخصوص مهوشpromptی از پروژه که به دستورالعمل‌های این اجرا اضافه می‌شود.
reasoning_effortBodystringاختیاریمشروطهم مدل منطقی و هم مسیر ارائه‌دهنده باید از آن پشتیبانی کنند.
response_formatBodyobjectاختیاریمشروطjson_object یا json_schema؛ مسیر باید قابلیت آن را اعلام کرده باشد. تعریف json_schema محدود می‌شود، در حالت strict پیش از تماس با ارائه‌دهنده بررسی می‌شود و خروجی نیز با schema تطبیق داده می‌شود.
safety_identifierBodystringاختیاریپشتیبانی می‌شودشناسهٔ ثابت ایمنی که به مسیر سازگار فرستاده می‌شود.
seedBodyintegerاختیاریمشروطراهنمایی برای تکرارپذیری خروجی نزد ارائه‌دهنده؛ مسیر باید از آن پشتیبانی کند.
service_tierBodystringاختیاریمشروطسطح سرویس درخواستی از ارائه‌دهنده؛ مسیر باید از آن پشتیبانی کند.
stopBodystring | array<value>اختیاریپشتیبانی می‌شودحداکثر ۴ رشتهٔ توقف (stop sequence) که هر کدام حداکثر ۱٬۰۲۴ نویسه دارد.
streamBodybooleanاختیاریپشتیبانی می‌شودبه‌جای یک شیء JSON، رویدادها را به‌صورت Server-Sent Events برمی‌گرداند.
stream_optionsBodyobjectاختیاریمشروطفقط include_usage پذیرفته می‌شود.
temperatureBodynumberاختیاریپشتیبانی می‌شوددمای نمونه‌گیری (temperature)، بین ۰ تا ۲.
thinkingBodyobjectاختیاریمخصوص مهوشتنظیمات استدلال برای مسیرهایی که از آن پشتیبانی می‌کنند.
tool_choiceBodystring | objectاختیاریپشتیبانی می‌شودیکی از auto، none، required یا شیئی سازگار با ارائه‌دهنده.
toolsBodyarray<value>اختیاریمشروطفقط ابزارهای function؛ ابزارهای ارائه‌دهنده فقط در Responses پشتیبانی می‌شوند.
top_logprobsBodyintegerاختیاریمشروطتعداد محتمل‌ترین tokenها در هر جایگاه، بین ۰ تا ۲۰؛ مسیر باید از آن پشتیبانی کند.
top_pBodynumberاختیاریپشتیبانی می‌شودپارامتر nucleus sampling، بین ۰ تا ۱.
userBodystringاختیاریپشتیبانی می‌شودشناسهٔ کاربر برای پایش سوءاستفاده نزد ارائه‌دهنده.
verbosityBodystringاختیاریمشروطمیزان تفصیل پاسخ نزد ارائه‌دهنده.
web_search_optionsBodyobjectاختیاریمشروطبه مسیری نیاز دارد که جست‌وجوی وب و همین پارامتر را پشتیبانی کند.

فیلدهای مشروط فقط وقتی کار می‌کنند که مدل و مسیر ارائه‌دهنده از آن‌ها پشتیبانی کنند.

Request

curl -X POST 'https://api.mahvashai.ir/v1/chat/completions' \
  -H "Authorization: Bearer $MAHVASH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: <unique-request-id>" \
  -d '{
  "model": "auto",
  "messages": [
    {
      "role": "user",
      "content": "Say hello in one sentence."
    }
  ]
}'

Response

{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "created": 1750000000,
  "model": "<model-id>",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "Hello!"
      }
    }
  ],
  "usage": {
    "prompt_tokens": 11,
    "completion_tokens": 4,
    "total_tokens": 15
  }
}

این نمونه فقط ساختار response را نشان می‌دهد؛ فیلدهای واقعی به نوع عملیات و مدل بستگی دارند.

کدهای وضعیت

HTTPتوضیحات
200request با موفقیت انجام شد.
400request نامعتبر است.
401اطلاعات احراز هویت فرستاده نشده یا معتبر نیست.
402موجودی برای پرداخت هزینه کافی نیست.
403دسترسی لازم را ندارید.
404منبع پیدا نشد یا برای شما قابل دسترسی نیست.
409تداخل در وضعیت یا idempotency.
429از سقف مجاز عبور کرده‌اید.
500خطای داخلی سرور.
502سرویس ارائه‌دهنده با خطا مواجه شد.
503یکی از سرویس‌های موردنیاز موقتاً در دسترس نیست.

فهرست گفت‌وگوها

GET/v1/chat/completions
آدرس پایهٔ APIhttps://api.mahvashai.ir
احراز هویتAPI key پروژه یا JWT کاربر
Responseresponse مستقیم با قالب OpenAI

پارامترها

این جدول همهٔ ورودی‌هایی را که این endpoint می‌پذیرد نشان می‌دهد. مقدارهای نمونه‌ها ساختگی‌اند و یک روش امن برای یکپارچه‌سازی را نشان می‌دهند.

ناممحل ارسالنوعالزامیپشتیبانیتوضیحات
searchQuerystringاختیاریمخصوص مهوشجست‌وجوی گفت‌وگو بر اساس عنوان یا محتوای پیام.
statusQuerystringاختیاریمخصوص مهوشفیلتر بر اساس وضعیت گفت‌وگو.
modeQuerystringاختیاریمخصوص مهوشفیلتر بر اساس حالت گفت‌وگو.
is_pinnedQuerybooleanاختیاریمخصوص مهوشفقط گفت‌وگوهای سنجاق‌شده را نشان می‌دهد.
orderingQuerystringاختیاریمخصوص مهوشupdated_at یا title، با prefix اختیاری -.
cursorQuerystringاختیاریمخصوص مهوشcursorی که از صفحهٔ قبل گرفته‌اید؛ محتوای آن را تغییر ندهید.
limitQueryintegerاختیاریمخصوص مهوشاندازهٔ صفحهٔ درخواستی که سرور برایش سقف تعیین می‌کند.
X-Request-IDHeaderstringاختیاریمخصوص مهوششناسهٔ ردگیری که کلاینت می‌فرستد. در همهٔ پاسخ‌ها برمی‌گردد و اگر فرستاده نشود یا قالبش درست نباشد، سرور شناسهٔ تازه‌ای می‌سازد.
X-Mahvash-ProjectHeaderstringاختیاریمخصوص مهوشslug یا شناسهٔ پروژه در سازمان شما. دامنهٔ request را محدودتر می‌کند و هرگز دسترسی بیشتری نمی‌دهد.

Request

curl -X GET 'https://api.mahvashai.ir/v1/chat/completions' \
  -H "Authorization: Bearer $MAHVASH_API_KEY"

Response

{
  "object": "list",
  "data": [
    {
      "id": "<id>",
      "object": "chat.completion",
      "created": 1750000000,
      "model": null,
      "metadata": {
        "chat_id": "<id>",
        "title": "<value>",
        "is_pinned": false,
        "status": "ACTIVE",
        "mode": "<value>"
      }
    }
  ],
  "first_id": "<id>",
  "last_id": "<id>",
  "has_more": false,
  "next": null,
  "previous": null
}

این نمونه فقط ساختار response را نشان می‌دهد؛ فیلدهای واقعی به نوع عملیات و مدل بستگی دارند.

کدهای وضعیت

HTTPتوضیحات
200request با موفقیت انجام شد.
400request نامعتبر است.
401اطلاعات احراز هویت فرستاده نشده یا معتبر نیست.
403دسترسی لازم را ندارید.
404منبع پیدا نشد یا برای شما قابل دسترسی نیست.
429از سقف مجاز عبور کرده‌اید.
500خطای داخلی سرور.

دریافت اطلاعات گفت‌وگو

GET/v1/chat/completions/{pk}
آدرس پایهٔ APIhttps://api.mahvashai.ir
احراز هویتAPI key پروژه یا JWT کاربر
Responseresponse مستقیم با قالب OpenAI

پارامترها

این جدول همهٔ ورودی‌هایی را که این endpoint می‌پذیرد نشان می‌دهد. مقدارهای نمونه‌ها ساختگی‌اند و یک روش امن برای یکپارچه‌سازی را نشان می‌دهند.

ناممحل ارسالنوعالزامیپشتیبانیتوضیحات
pkمسیر (path)stringالزامیمخصوص مهوششناسهٔ گفت‌وگو، با prefix chatcmpl- یا بدون آن.
X-Request-IDHeaderstringاختیاریمخصوص مهوششناسهٔ ردگیری که کلاینت می‌فرستد. در همهٔ پاسخ‌ها برمی‌گردد و اگر فرستاده نشود یا قالبش درست نباشد، سرور شناسهٔ تازه‌ای می‌سازد.
X-Mahvash-ProjectHeaderstringاختیاریمخصوص مهوشslug یا شناسهٔ پروژه در سازمان شما. دامنهٔ request را محدودتر می‌کند و هرگز دسترسی بیشتری نمی‌دهد.

Request

curl -X GET 'https://api.mahvashai.ir/v1/chat/completions/<pk>' \
  -H "Authorization: Bearer $MAHVASH_API_KEY"

Response

{
  "id": "<id>",
  "object": "chat.completion",
  "created": 1750000000,
  "model": null,
  "metadata": {
    "chat_id": "<id>",
    "title": "<value>",
    "is_pinned": false,
    "status": "ACTIVE",
    "mode": "<value>"
  }
}

این نمونه فقط ساختار response را نشان می‌دهد؛ فیلدهای واقعی به نوع عملیات و مدل بستگی دارند.

کدهای وضعیت

HTTPتوضیحات
200request با موفقیت انجام شد.
401اطلاعات احراز هویت فرستاده نشده یا معتبر نیست.
403دسترسی لازم را ندارید.
404منبع پیدا نشد یا برای شما قابل دسترسی نیست.
429از سقف مجاز عبور کرده‌اید.
500خطای داخلی سرور.

فهرست پیام‌ها و فایل‌های یک گفت‌وگو

GET/v1/chat/completions/{pk}/messages
آدرس پایهٔ APIhttps://api.mahvashai.ir
احراز هویتAPI key پروژه یا JWT کاربر
Responseresponse مستقیم با قالب OpenAI

پارامترها

این جدول همهٔ ورودی‌هایی را که این endpoint می‌پذیرد نشان می‌دهد. مقدارهای نمونه‌ها ساختگی‌اند و یک روش امن برای یکپارچه‌سازی را نشان می‌دهند.

ناممحل ارسالنوعالزامیپشتیبانیتوضیحات
pkمسیر (path)stringالزامیمخصوص مهوششناسهٔ گفت‌وگو.
searchQuerystringاختیاریمخصوص مهوشفیلتر پیام‌ها بر اساس بخشی از محتوا.
cursorQuerystringاختیاریمخصوص مهوشcursorی که از صفحهٔ قبل گرفته‌اید؛ محتوای آن را تغییر ندهید.
limitQueryintegerاختیاریمخصوص مهوشاندازهٔ صفحهٔ درخواستی که سرور برایش سقف تعیین می‌کند.
X-Request-IDHeaderstringاختیاریمخصوص مهوششناسهٔ ردگیری که کلاینت می‌فرستد. در همهٔ پاسخ‌ها برمی‌گردد و اگر فرستاده نشود یا قالبش درست نباشد، سرور شناسهٔ تازه‌ای می‌سازد.
X-Mahvash-ProjectHeaderstringاختیاریمخصوص مهوشslug یا شناسهٔ پروژه در سازمان شما. دامنهٔ request را محدودتر می‌کند و هرگز دسترسی بیشتری نمی‌دهد.

Request

curl -X GET 'https://api.mahvashai.ir/v1/chat/completions/<pk>/messages' \
  -H "Authorization: Bearer $MAHVASH_API_KEY"

Response

{
  "object": "list",
  "data": [
    {
      "id": "<id>",
      "object": "chat.completion.message",
      "role": "user",
      "content": "<value>",
      "content_parts": [],
      "tool_calls": [],
      "attachments": [],
      "created": 1750000000,
      "metadata": {
        "status": "COMPLETED"
      }
    }
  ],
  "first_id": "<id>",
  "last_id": "<id>",
  "has_more": false,
  "next": null,
  "previous": null
}

این نمونه فقط ساختار response را نشان می‌دهد؛ فیلدهای واقعی به نوع عملیات و مدل بستگی دارند.

کدهای وضعیت

HTTPتوضیحات
200request با موفقیت انجام شد.
400request نامعتبر است.
401اطلاعات احراز هویت فرستاده نشده یا معتبر نیست.
403دسترسی لازم را ندارید.
404منبع پیدا نشد یا برای شما قابل دسترسی نیست.
429از سقف مجاز عبور کرده‌اید.
500خطای داخلی سرور.

لغو اجرای در حال انجام گفت‌وگو

POST/v1/chat/completions/cancel
آدرس پایهٔ APIhttps://api.mahvashai.ir
احراز هویتAPI key پروژه یا JWT کاربر
Responseresponse مستقیم با قالب OpenAI
نوع محتواapplication/json

پارامترها

این جدول همهٔ ورودی‌هایی را که این endpoint می‌پذیرد نشان می‌دهد. مقدارهای نمونه‌ها ساختگی‌اند و یک روش امن برای یکپارچه‌سازی را نشان می‌دهند.

ناممحل ارسالنوعالزامیپشتیبانیتوضیحات
X-Request-IDHeaderstringاختیاریمخصوص مهوششناسهٔ ردگیری که کلاینت می‌فرستد. در همهٔ پاسخ‌ها برمی‌گردد و اگر فرستاده نشود یا قالبش درست نباشد، سرور شناسهٔ تازه‌ای می‌سازد.
X-Mahvash-ProjectHeaderstringاختیاریمخصوص مهوشslug یا شناسهٔ پروژه در سازمان شما. دامنهٔ request را محدودتر می‌کند و هرگز دسترسی بیشتری نمی‌دهد.
run_idBodystringالزامیمخصوص مهوششناسهٔ اجرایی که از یک request در صف یا stream گرفته‌اید.

Request

curl -X POST 'https://api.mahvashai.ir/v1/chat/completions/cancel' \
  -H "Authorization: Bearer $MAHVASH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "run_id": "3f5a8c4e-6b8d-4a4f-9d2c-1f0a2b3c4d5e"
}'

Response

برای این endpoint نمونهٔ قابل‌اعتمادی از response در دست نیست. کد وضعیت HTTP را بررسی کنید و body برگشتی را متناسب با روند کار کلاینت خود بخوانید.

کدهای وضعیت

HTTPتوضیحات
202request برای پردازش پذیرفته شد.
400request نامعتبر است.
401اطلاعات احراز هویت فرستاده نشده یا معتبر نیست.
403دسترسی لازم را ندارید.
404منبع پیدا نشد یا برای شما قابل دسترسی نیست.
409تداخل در وضعیت یا idempotency.
429از سقف مجاز عبور کرده‌اید.
500خطای داخلی سرور.
503یکی از سرویس‌های موردنیاز موقتاً در دسترس نیست.

حذف گفت‌وگو و پاک کردن محتوای آن

DELETE/v1/chat/completions/{pk}
آدرس پایهٔ APIhttps://api.mahvashai.ir
احراز هویتAPI key پروژه یا JWT کاربر
Responseresponse مستقیم با قالب OpenAI

پارامترها

این جدول همهٔ ورودی‌هایی را که این endpoint می‌پذیرد نشان می‌دهد. مقدارهای نمونه‌ها ساختگی‌اند و یک روش امن برای یکپارچه‌سازی را نشان می‌دهند.

ناممحل ارسالنوعالزامیپشتیبانیتوضیحات
pkمسیر (path)stringالزامیمخصوص مهوششناسهٔ گفت‌وگویی که باید حذف و محتوایش پاک شود.
X-Request-IDHeaderstringاختیاریمخصوص مهوششناسهٔ ردگیری که کلاینت می‌فرستد. در همهٔ پاسخ‌ها برمی‌گردد و اگر فرستاده نشود یا قالبش درست نباشد، سرور شناسهٔ تازه‌ای می‌سازد.
X-Mahvash-ProjectHeaderstringاختیاریمخصوص مهوشslug یا شناسهٔ پروژه در سازمان شما. دامنهٔ request را محدودتر می‌کند و هرگز دسترسی بیشتری نمی‌دهد.

Request

curl -X DELETE 'https://api.mahvashai.ir/v1/chat/completions/<pk>' \
  -H "Authorization: Bearer $MAHVASH_API_KEY"

Response

{
  "message": "<value>"
}

این نمونه فقط ساختار response را نشان می‌دهد؛ فیلدهای واقعی به نوع عملیات و مدل بستگی دارند.

کدهای وضعیت

HTTPتوضیحات
200request با موفقیت انجام شد.
401اطلاعات احراز هویت فرستاده نشده یا معتبر نیست.
403دسترسی لازم را ندارید.
404منبع پیدا نشد یا برای شما قابل دسترسی نیست.
409تداخل در وضعیت یا idempotency.
429از سقف مجاز عبور کرده‌اید.
500خطای داخلی سرور.