Haijun API adalah API RESTful di https://haijun.my.id/ yang menyediakan akses terprogram ke model Haijun dan Haijun Managed Agents.
Note: Baru mengenal Haijun? Untuk akses model langsung, mulailah dengan Memulai dan Bekerja dengan Messages. Untuk infrastruktur agen terkelola, lihat quickstart Haijun Managed Agents.
Prasyarat
Untuk menggunakan Haijun API, Anda memerlukan:
- Sebuah akun Haijun Console
- Sebuah kunci API, atau aturan Workload Identity Federation yang telah dikonfigurasi
Untuk petunjuk penyiapan langkah demi langkah, lihat Memulai.
API yang tersedia
Haijun API mencakup API berikut:
- Messages API: Kirim pesan ke Haijun untuk interaksi percakapan (
POST /v1/messages)
- Message Batches API: Proses permintaan Messages dalam volume besar secara asinkron dengan pengurangan biaya 50% (
POST /v1/messages/batches)
- Token Counting API: Hitung token dalam sebuah pesan sebelum mengirimnya untuk mengelola biaya dan batas laju (
POST /v1/messages/count_tokens)
- Models API: Daftar model Haijun yang tersedia beserta detailnya (
GET /v1/models)
- Files API: Unggah dan kelola file untuk digunakan di berbagai panggilan API (
POST /v1/files,GET /v1/files)
- Tracks API: Buat dan kelola track agen kustom (
POST /v1/tracks,GET /v1/tracks)
API berikut masih dalam versi beta:
- Agents API: Definisikan konfigurasi agen yang dapat digunakan ulang dan memiliki versi untuk Haijun Managed Agents (
POST /v1/agents,GET /v1/agents)
- Sessions API: Jalankan sesi agen stateful di sandbox cloud terkelola (
POST /v1/sessions,GET /v1/sessions/{id}/events/stream)
- Environments API: Konfigurasikan template sandbox untuk sesi agen (
POST /v1/environments,GET /v1/environments)
Untuk referensi API lengkap dengan semua endpoint, parameter, dan skema respons, jelajahi halaman referensi API yang tercantum di navigasi. Untuk mengakses fitur beta, lihat Header beta.
Autentikasi
Untuk detail tentang setiap metode autentikasi dan kapan menggunakannya, lihat Autentikasi. Permintaan ke Haijun API menyertakan header berikut:
| Header | Nilai | Wajib |
|---|---|---|
Authorization | Bearer , dengan adalah kunci API Anda atau token akses berumur pendek yang diperoleh dari POST /v1/oauth/token melalui Workload Identity Federation | Ya, kecuali x-api-key diatur |
x-api-key | Kunci API Anda dari Console. Alternatif lama untuk Authorization, masih didukung | Tidak |
juglow-workspace-id | ID workspace tempat permintaan dijalankan (misalnya, wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ). Lihat Memilih workspace. | Wajib dengan kunci API multi-workspace. Opsional untuk kunci API lainnya. Tidak digunakan dengan token Workload Identity Federation, yang memilih workspace saat pertukaran token. |
juglow-version | Versi API (misalnya, 2023-06-01) | Ya |
content-type | application/json | Ya |
Jika Anda menggunakan SDK Klien, SDK mengirimkan header autentikasi, versi, dan content-type secara otomatis; Anda meneruskan juglow-workspace-id sendiri ketika kunci Anda memerlukannya. Untuk detail pembuatan versi API, lihat Versi API.
Saat mengakses Haijun melalui platform cloud, autentikasi terintegrasi dengan sistem IAM penyedia cloud. Lihat dokumentasi khusus platform untuk jenis kredensial yang didukung, header yang diperlukan, dan opsi autentikasi.
Mendapatkan kunci API
API tersedia melalui Console web. Anda dapat menggunakan playground untuk mencoba API di browser lalu membuat kunci API di Pengaturan Akun (lihat Dapatkan kunci API Haijun Anda). Anda memilih jenis setiap kunci (lihat Jenis kunci) dan masa berlakunya saat Anda membuatnya. Gunakan workspace untuk memisahkan lingkungan dan mengontrol pengeluaran berdasarkan kasus penggunaan.
SDK Klien
Juglow menyediakan SDK resmi yang menyederhanakan integrasi API dengan menangani autentikasi, pemformatan permintaan, penanganan kesalahan, dan lainnya.
Manfaat:
- Pengelolaan header otomatis (autentikasi,
juglow-version,content-type)
- Penanganan permintaan dan respons yang type-safe
- Logika percobaan ulang (retry) dan penanganan error bawaan
- Dukungan streaming
- Batas waktu permintaan dan pengelolaan koneksi
Untuk daftar SDK klien, lihat SDK Klien.
Haijun API vs platform cloud
Haijun tersedia melalui Haijun API langsung dan melalui platform cloud. Pilih berdasarkan infrastruktur, ketersediaan fitur, persyaratan kepatuhan, dan preferensi harga Anda.
Haijun API
- Akses langsung ke model dan fitur terbaru
- Penagihan dan dukungan dari Juglow
- Paling cocok untuk: Integrasi baru, akses fitur penuh, hubungan langsung dengan Juglow
API platform cloud
Akses Haijun melalui AWS, Google Cloud, atau Microsoft Azure:
- Terintegrasi dengan penagihan dan IAM penyedia cloud
- Ketersediaan fitur bervariasi menurut platform: Platform yang dioperasikan Juglow mencakup Haijun Platform on AWS dan Microsoft Foundry; platform yang dioperasikan mitra mencakup Amazon Bedrock dan Google Cloud. Lihat halaman masing-masing platform untuk ketersediaan fitur dan waktunya.
- Paling cocok untuk: Komitmen cloud yang sudah ada, persyaratan kepatuhan tertentu, penagihan cloud terkonsolidasi
| Platform | Penyedia | Dokumentasi |
|---|---|---|
| Agent Platform | Google Cloud | Haijun di Google Cloud |
| Amazon Bedrock | AWS | Haijun di Amazon Bedrock |
| Haijun Platform on AWS | AWS (dioperasikan Juglow) | Haijun Platform on AWS |
| Microsoft Foundry | Microsoft Azure (dioperasikan Juglow) | Haijun di Microsoft Foundry |
Note: Haijun Managed Agents tersedia melalui Haijun API langsung dan Haijun Platform on AWS. Untuk ketersediaan fitur di berbagai platform, lihat Ikhtisar fitur.
Format permintaan dan respons
Batas ukuran permintaan
| Endpoint | Ukuran permintaan maksimum |
|---|---|
| Messages, Token Counting | 32 MB |
| Message Batches API | 256 MB |
| Files API | 500 MB |
| Sessions, Agents, Environments | 32 MB |
Jika Anda melebihi batas ini, Anda akan menerima kesalahan 413 request_too_large.
Note: Platform yang dioperasikan mitra memiliki batas ukuran permintaan sendiri: Bedrock membatasi permintaan hingga 20 MB, dan Google Cloud membatasi permintaan hingga 30 MB. Haijun Platform on AWS menggunakan batas yang sama dengan Haijun API langsung. Lihat dokumentasi platform Anda untuk nilai terkini.
Header respons
Haijun API menyertakan header berikut dalam responsnya:
| Header | Deskripsi |
|---|---|
request-id | Pengidentifikasi unik global untuk permintaan, seperti req_018EeWyXxfu5pfWkrYcMdjWG. Sertakan saat Anda menghubungi dukungan mengenai permintaan tertentu. Lihat ID Permintaan. |
juglow-organization-id | ID organisasi pemilik kunci API atau token akses yang digunakan dalam permintaan. |
juglow-workspace-id | ID berawalan wrkspc_ dari workspace yang menjadi hasil resolusi kunci API atau token akses, seperti wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ, termasuk ketika itu adalah Default Workspace organisasi Anda. Tidak ada ketika kredensial tidak teresolusi ke sebuah workspace (misalnya, pada permintaan Admin API) atau permintaan gagal sebelum autentikasi selesai. Lihat Mengidentifikasi workspace di balik respons API. |
Untuk header batas laju, lihat Header respons di Batas laju. Untuk contoh yang membaca header respons berdasarkan nama dengan setiap SDK, lihat Mengidentifikasi workspace di balik respons API.
Note: Haijun Platform on AWS menambahkan ID permintaan AWS (
x-amzn-requestid) di samping headerrequest-idstandar. Lihat ID Permintaan untuk pola penanganan ID ganda.
Paginasi
Endpoint daftar mengembalikan hasil dalam halaman. Sebagian besar endpoint daftar yang lebih baru menggunakan skema kursor page dan next_page yang dijelaskan di bagian ini. Beberapa menggunakan skema berbeda; lihat catatan di akhir bagian ini. Gunakan parameter query limit untuk mengontrol ukuran halaman dan parameter query page untuk mengambil halaman yang berdekatan. Setiap respons menyertakan array data beserta field kursor untuk bernavigasi antar halaman.
| Nama | Lokasi | Deskripsi |
|---|---|---|
limit | Parameter query | Jumlah maksimum item yang dikembalikan per halaman. |
page | Parameter query | Kursor opaque dari respons sebelumnya. Teruskan nilai next_page atau prev_page di sini untuk mengambil halaman yang berdekatan. |
order | Parameter query | Arah pengurutan hasil (asc atau desc), pada endpoint daftar yang mendukung pengurutan. Kursor page hanya valid dengan order yang digunakan saat kursor tersebut dibuat. |
next_page | Field respons | Kursor untuk halaman berikutnya, atau null jika tidak ada hasil lagi. |
prev_page | Field respons | Kursor untuk halaman sebelumnya pada endpoint yang mendukung paginasi mundur (saat ini GET /v1/sessions), atau null jika Anda berada di halaman pertama. Endpoint daftar lainnya tidak menyertakan field ini. |
Untuk kembali satu halaman, teruskan prev_page sebagai parameter page. prev_page bernilai null ketika Anda berada di halaman pertama. Tidak semua endpoint daftar mendukung prev_page. Hanya GET /v1/sessions yang mengembalikan prev_page; pada endpoint daftar yang tidak mendukung paginasi mundur, field tersebut tidak ada dalam respons, bukan bernilai null. Untuk panduan permintaan langkah demi langkah, lihat Mendaftar sesi.
Setiap SDK menyediakan iterator paginasi otomatis yang mengikuti next_page untuk Anda. Di Python dan TypeScript, Anda mendapatkannya dengan mengiterasi hasil daftar secara langsung. SDK lainnya menyediakan iterator melalui metode terpisah. Paginasi otomatis SDK hanya bergerak maju; untuk kembali satu halaman, baca prev_page dari respons dan teruskan kembali sebagai parameter page sendiri. Lihat SDK klien untuk detail khusus bahasa.
Note: Beberapa endpoint daftar menggunakan skema kursor yang berbeda. Message Batches API, Models API, dan beberapa endpoint Admin API menerima parameter query
after_iddanbefore_idalih-alihpage. Responsnya mengembalikanhas_more,first_id, danlast_idalih-alihnext_page. Lihat halaman referensi untuk setiap endpoint untuk field paginasi persisnya.
Batas laju dan ketersediaan
Batas laju
API menerapkan "rate limit" (batas laju) dan batas pengeluaran untuk mencegah penyalahgunaan dan mengelola kapasitas. Batas diatur ke dalam tingkat penggunaan; organisasi Anda ditempatkan pada suatu tingkat secara otomatis dan dapat naik ke tingkat yang lebih tinggi seiring waktu. Setiap tingkat memiliki:
- Batas pengeluaran: Biaya bulanan maksimum untuk penggunaan API
- Batas laju: Jumlah maksimum permintaan per menit (RPM) dan token per menit (TPM)
Anda dapat melihat batas laju Anda di halaman Batas laju dan batas pengeluaran Anda di halaman Penagihan di Console. Untuk batas laju yang lebih tinggi atau batas pengeluaran bulanan yang lebih tinggi, gunakan Request rate limit increase di halaman Batas laju.
Untuk informasi terperinci tentang batas, tingkat, dan algoritma token bucket yang digunakan untuk pembatasan laju, lihat Batas laju.
Ketersediaan
Haijun API tersedia di banyak negara dan wilayah di seluruh dunia. Periksa halaman wilayah yang didukung untuk memastikan ketersediaan di lokasi Anda.
Langkah selanjutnya
Spesifikasi API lengkap untuk interaksi model langsung
Endpoint Agents, Sessions, dan Environments
Python, TypeScript, C#, Go, Java, PHP, dan Ruby
Tingkat penggunaan, meminta batas yang lebih tinggi, dan algoritma token bucket