Developer Documentation

Integrasi API Cipincode lebih cepat, rapi, dan siap production.

Semua kebutuhan utama ada di sini: cara ambil API key, format request, daftar endpoint, contoh respons, dan alur implementasi yang simpel untuk aplikasi web maupun backend.

Quickstart

Untuk mulai, cukup siapkan API key dari dashboard member lalu kirim request ke endpoint chat completions. Struktur request dibuat familiar supaya migrasi dari provider lain terasa ringan.

1. Ambil API key Buka member dashboard, masuk ke menu API Keys, lalu salin key aktif untuk project Anda.
2. Pilih model Gunakan model seperti Qwen, DeepSeek, atau model lain yang tersedia sesuai kebutuhan biaya dan kecepatan.
curl https://api.cipincode.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3",
    "messages": [
      { "role": "user", "content": "Hello from Cipincode" }
    ],
    "stream": false
  }'

Authentication

Semua request menggunakan header Authorization dengan format bearer token. Simpan API key di environment variable dan jangan taruh langsung di client-side app untuk penggunaan production.

Authorization: Bearer YOUR_API_KEY Content-Type: application/json Base URL: https://api.cipincode.com

Endpoints

Endpoint inti difokuskan untuk workflow paling umum: chat generation, daftar model, dan pengecekan penggunaan. Naming tetap familiar supaya enak dipakai di SDK atau custom integration.

POST
/v1/chat/completions Mengirim prompt atau messages untuk menghasilkan output teks, tool-call, atau respons AI lain sesuai model yang dipilih.
GET
/v1/models Menampilkan daftar model yang tersedia lengkap dengan identitas model untuk dipakai di request selanjutnya.
GET
/v1/usage Mengecek pemakaian token dan request agar monitoring biaya serta quota lebih mudah dipantau dari aplikasi Anda.

Model selection

Pilih model berdasarkan prioritas kerja. Model cepat cocok untuk chat UI dan automasi, sedangkan model yang lebih kuat cocok untuk reasoning, analisis, dan output panjang.

Qwen Seimbang untuk kecepatan dan kualitas, cocok untuk sebagian besar use case aplikasi bisnis.
DeepSeek Bagus untuk reasoning dan tugas analitis yang butuh jawaban lebih presisi.

Response format

Respons dibuat ringkas dan kompatibel dengan pola yang sudah umum, jadi parsing di backend atau frontend tetap sederhana.

{
  "id": "chatcmpl_demo_123",
  "object": "chat.completion",
  "model": "qwen3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 24,
    "completion_tokens": 18,
    "total_tokens": 42
  }
}

Error codes

Kalau request gagal, API akan mengembalikan status code HTTP yang jelas beserta objek error yang bisa langsung dipakai untuk menampilkan pesan ke user, retry logic, atau monitoring internal.

400
Bad Request Payload request tidak valid, field wajib belum lengkap, atau format JSON tidak sesuai dengan spesifikasi endpoint.
401
Unauthorized API key tidak ada, salah, atau sudah tidak aktif. Pastikan header bearer token dikirim dengan benar.
402
Insufficient Balance Saldo akun tidak cukup untuk memproses request. Top up saldo terlebih dulu sebelum mengirim request berikutnya.
404
Model Not Found Model yang diminta tidak tersedia, typo, atau sudah tidak dipublikasikan pada environment aktif Anda.
409
Model Maintenance Model sedang maintenance sementara atau sedang dinonaktifkan sebentar. Gunakan fallback model lain dan retry beberapa saat lagi.
429
Rate Limit Exceeded Jumlah request atau token melebihi batas plan saat ini. Kurangi frekuensi request, aktifkan retry dengan jeda, atau upgrade plan.
500
Internal Server Error Terjadi error internal di sisi server. Simpan request id jika tersedia lalu lakukan retry bertahap.
503
Service Unavailable Layanan sedang padat atau tidak tersedia sementara. Disarankan retry dengan exponential backoff.
{
  "error": {
    "code": "insufficient_balance",
    "message": "Your balance is not enough to process this request.",
    "type": "billing_error",
    "status": 402
  }
}