BazaarLinkBazaarLink
Masuk
DokumentasiReferensi APIReferensi SDKPenggunaan AgentikSkill AI
Responses API

Buat response

Meminta respons model menggunakan bentuk permintaan OpenAI Responses API (input/instructions); dikonversi secara internal ke format Chat Completions dan dirutekan ke model apa pun yang didukung — ini adalah lapisan translasi, bukan jalur inferensi terpisah. Ini adalah endpoint stateless: mengirim store: true atau previous_response_id yang tidak null mengembalikan 400 (lihat entri 400 di bawah untuk bentuk error yang berbeda) — setiap panggilan harus membawa seluruh percakapan dalam input. Saat streaming, reasoning ditampilkan melalui event response.reasoning_text.delta dan item output type:"reasoning".

POST/api/v1/responses

Otorisasi

Authorizationwajib
string · header

API key sebagai bearer token di header Authorization.

Body

modelwajib
string

Model yang digunakan, dengan prefiks penyedia, mis. "openai/gpt-5.2".

minLength: 1
Example: "openai/gpt-5.2"
inputwajib
string | InputItem[]

Input percakapan — string tunggal, atau array item terstruktur (message/function_call/function_call_output). Pesan dapat menggunakan teks biasa atau array blok konten termasuk input_image.

instructions
string

Instruksi tingkat sistem, disisipkan sebagai pesan system pertama di depan array messages hasil konversi.

stream
boolean

true untuk streaming respons sebagai event SSE Responses API (response.created, response.output_item.added, response.output_text.delta, response.reasoning_text.delta, response.completed, dan lainnya); dihilangkan atau false mengembalikan satu respons JSON.

max_output_tokens
integer

Jumlah token maksimum yang dapat dihasilkan respons (dikonversi ke max_tokens Chat Completions upstream).

tools
Tool[]

Daftar definisi tool/fungsi yang dapat dipanggil model. Menerima bentuk datar sesuai spek Responses {type:"function", name, description, parameters} (direkomendasikan), serta bentuk bersarang Chat Completions {type:"function", function:{...}} (diterima untuk kompatibilitas mundur, diteruskan apa adanya). Field tools pada objek respons mencerminkan nilai yang benar-benar dikirim di sini.

tool_choice
string | object

Mengontrol apakah/bagaimana model dipaksa memanggil tool, mis. {type:"function", name:"..."} (bentuk datar, direkomendasikan, dikonversi otomatis untuk upstream) atau "auto". Field tool_choice pada objek respons mencerminkan nilai yang dikirim di sini, default "auto" saat dihilangkan.

parallel_tool_calls
boolean

Apakah mengizinkan pemanggilan tool paralel saat tools disediakan. Default true saat dihilangkan; field parallel_tool_calls pada objek respons mencerminkan nilai yang dikirim di sini.

plugins
object[]

Array plugin (mis. {id:"web"} untuk mengaktifkan pencarian web). Hanya didukung pada beberapa rute model, tanpa efek di tempat lain; varian model :online otomatis menyisipkan {id:"web"} hanya saat Anda tidak mengirim plugins apa pun, juga hanya pada rute yang mendukung.

store
boolean

⚠️ Endpoint ini stateless — mengirim true langsung mengembalikan 400, tidak pernah diterima atau diabaikan diam-diam. Menghilangkannya atau mengirim false adalah satu-satunya penggunaan yang valid.

previous_response_id
string

⚠️ Endpoint ini stateless — mengirim nilai apa pun yang bukan null langsung mengembalikan 400, tidak pernah diterima atau diabaikan diam-diam. Untuk melanjutkan percakapan, kirim riwayat lengkap dalam array input.

models
string[]

Daftar model fallback — dicoba berurutan, hanya digunakan setelah grup kandidat model utama habis.

reasoning
object

Objek kontrol pemikiran model reasoning (mis. {effort, max_tokens}), diteruskan apa adanya ke upstream — tidak ada default yang disuntikkan.

reasoning_effort
string

Field singkat datar untuk reasoning.effort.

lowmediumhigh
thinking
object

Anggaran token tambahan extended thinking Claude (mis. {type:"enabled", budget_tokens:2048}), di atas max_output_tokens — diteruskan apa adanya, tidak ada default yang disuntikkan.

enable_thinking
boolean

Toggle nyala/mati thinking untuk model keluarga Qwen3/GLM, diteruskan apa adanya sesuai pilihan pengguna.

POST /api/v1/responses
curl https://bazaarlink.ai/api/v1/responses \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5.2",
    "input": "What is the capital of France?"
  }'
Contoh respons

Berhasil. Secara default (atau stream: false) mengembalikan objek Response di bawah; dengan stream: true, mengembalikan aliran event SSE Responses API. model selalu mencerminkan nama yang Anda minta. output[] terdiri dari apa pun yang benar-benar dihasilkan: item type:"reasoning" lebih dulu saat ada konten reasoning, diikuti item teks type:"message" (array annotations pada content-nya dapat membawa sumber kutipan, mis. url_citation dari hasil pencarian web), atau item type:"function_call". usage dikonversi dari usage Chat Completions yang mendasarinya (input_tokens/output_tokens/total_tokens/cost), dengan tambahan output_tokens_details.reasoning_tokens saat reasoning token digunakan. tool_choice/tools/parallel_tool_calls mencerminkan apa yang benar-benar Anda kirim dalam permintaan.

{
  "id": "resp_6f2a1c9d8e7b4a3f9c1d2e3f",
  "object": "response",
  "created_at": 1753500000,
  "completed_at": 1753500002,
  "status": "completed",
  "model": "openai/gpt-5.2",
  "output": [
    {
      "type": "reasoning",
      "id": "rs_1a2b3c4d5e6f7a8b9c0d1e2f",
      "status": "completed",
      "summary": [],
      "content": [
        {
          "type": "reasoning_text",
          "text": "The user is asking a simple geography fact..."
        }
      ]
    },
    {
      "type": "message",
      "id": "msg_9f8e7d6c5b4a3f2e1d0c9b8a",
      "role": "assistant",
      "status": "completed",
      "content": [
        {
          "type": "output_text",
          "text": "The capital of France is Paris.",
          "annotations": []
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 14,
    "output_tokens": 32,
    "total_tokens": 46,
    "cost": 0.00021,
    "output_tokens_details": {
      "reasoning_tokens": 18
    }
  },
  "error": null,
  "incomplete_details": null,
  "tool_choice": "auto",
  "tools": [],
  "truncation": "auto",
  "parallel_tool_calls": true,
  "metadata": {},
  "store": false
}
Support
Support
Hi! How can we help you?
Send a message and we'll get back to you soon.
Buat response — BazaarLink API