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/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.4".

minLength: 1
Example: "openai/gpt-5.4"
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, tidak berpengaruh di tempat lain; :online mengaktifkan pencarian web pada rute yang mendukung. Pencarian melalui plugins, :online, atau web_search_options dapat menimbulkan biaya tambahan upstream pada kunci yang digunakan: kunci platform BazaarLink atau kunci BYOK Anda.

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 setelah grup kandidat model utama habis. BazaarLink merutekan setiap model fallback melalui sistemnya sendiri dan mengenakan harga pelanggan BazaarLink untuk model tersebut; daftar ini tidak diteruskan ke upstream.

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

BazaarLink mengembalikan respons terstandar dan menghapus field khusus upstream. usage.cost adalah jumlah USD yang ditagihkan kepada pelanggan untuk permintaan ini. Gunakan ID permintaan BazaarLink yang buram dari id respons atau header x-request-id pada GET /v1/generation; respons non-streaming juga menyertakan ID itu di x-generation-id. Statistik dapat muncul beberapa detik setelah selesai; coba lagi sebentar jika mendapat 404. Permintaan Chat, Messages, dan Responses non-streaming yang lama (sekitar 12 detik atau lebih) dapat diawali padding keep-alive berupa whitespace sebelum body JSON. Parser JSON standar menerima whitespace awal.

{
  "id": "85e6f35c71a31f19-SJC",
  "object": "response",
  "created_at": 1753500000,
  "completed_at": 1753500002,
  "status": "completed",
  "model": "openai/gpt-5.4",
  "output": [
    {
      "type": "reasoning",
      "id": "bazaarlink-reasoning-item-id",
      "status": "completed",
      "summary": [],
      "content": [
        {
          "type": "reasoning_text",
          "text": "The user is asking a simple geography fact..."
        }
      ]
    },
    {
      "type": "message",
      "id": "bazaarlink-message-item-id",
      "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,
    "bz_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