Semua endpoint daftar dalam API Qoder Cloud Agents CN menggunakan cursor-based pagination. Untuk menelusuri hasil secara halaman per halaman, berikan parameter before_id atau after_id. Kursor tetap stabil meskipun terjadi perubahan data.
Parameter permintaan
| Parameter | Tipe | Wajib | Bawaan | Deskripsi |
|---|---|---|---|---|
|
|
integer | Tidak | 20 | Item per halaman, rentang 1–100 |
|
|
string | Tidak | — | Mengembalikan Catatan sebelum ID ini (paging mundur) |
|
| string | Tidak | — | Mengembalikan catatan setelah ID ini (paginasi maju) |
before_id dan after_id saling eksklusif. Mengirim keduanya akan mengembalikan 400 invalid_request_error.
after/before sebagai nama parameter di endpoint daftar mereka, yang setara dengan after_id/before_id yang didefinisikan pada halaman ini — server menerima keduanya.Struktur respons
Semua endpoint daftar mengembalikan struktur paginasi yang sama:
{
"data": [
{ "id": "agent_abc123", "name": "my-agent", "...": "..." },
{ "id": "agent_def456", "name": "another-agent", "...": "..." }
],
"first_id": "agent_abc123",
"last_id": "agent_def456",
"has_more": true
}Deskripsi bidang
| Field | Type | Description |
|---|---|---|
|
|
array | Resource pada halaman saat ini |
|
|
string | null | ID Catatan pertama pada halaman ini |
|
|
string | null | ID Catatan terakhir pada halaman ini |
|
|
boolean | Apakah masih ada Catatan lainnya |
Penggunaan dasar
Ambil halaman pertama
# Dapatkan 10 Agen pertama
curl -s "https://api.qoder.com.cn/api/v1/cloud/agents?limit=10" \
-H "Authorization: Bearer $QODER_PAT"Maju Halaman
Gunakan last_id dari respons sebelumnya sebagai after_id:
# Dapatkan 10 Catatan setelah agent_def456
curl -s "https://api.qoder.com.cn/api/v1/cloud/agents?limit=10&after_id=agent_def456" \
-H "Authorization: Bearer $QODER_PAT"Halaman sebelumnya
Gunakan first_id dari halaman saat ini sebagai before_id:
# Dapatkan 10 Catatan sebelum agent_abc123
curl -s "https://api.qoder.com.cn/api/v1/cloud/agents?limit=10&before_id=agent_abc123" \
-H "Authorization: Bearer $QODER_PAT"Contoh penjelajahan lengkap
Skrip berikut melakukan iterasi melalui semua Agent:
#!/bin/bash
# Melakukan iterasi pada semua Agen dan mencetak nama
BASE_URL="https://api.qoder.com.cn/api/v1/cloud"
has_more=true
after_id=""
page=1
while [ "$has_more" = "true" ]; do
url="$BASE_URL/agents?limit=50"
if [ -n "$after_id" ]; then
url="$url&after_id=$after_id"
fi
response=$(curl -s "$url" \
-H "Authorization: Bearer $QODER_PAT")
count=$(echo "$response" | python3 -c "import sys,json; d=json.load(sys.stdin); print(len(d['data']))")
has_more=$(echo "$response" | python3 -c "import sys,json; print(str(json.load(sys.stdin)['has_more']).lower())")
after_id=$(echo "$response" | python3 -c "import sys,json; print(json.load(sys.stdin)['last_id'] or '')")
echo "Page ${page}: ${count} records"
echo "$response" | python3 -c "
import sys, json
data = json.load(sys.stdin)['data']
for item in data:
print(f\" - {item['id']}: {item.get('name', 'unnamed')}\")
"
page=$((page + 1))
sleep 0.1
done
echo "Done"limit perilaku
| Nilai | Perilaku |
|---|---|
| Dihilangkan | Default-nya 20 |
| 1 | Minimum, mengembalikan 1 record |
| 100 | Maksimum, mengembalikan 100 records |
| 0 atau negatif | Mengembalikan 400 |
| > 100 | **Dibatasi diam-diam menjadi 100** (HTTP 200, tanpa error). |
Meneruskan limit > 100 tidak mengembalikan error 400 — API secara diam-diam membatasi jumlah entri per halaman menjadi maksimal 100 Catatan. Kode yang menetapkan limit=500 hanya menerima 100 Catatan pertama tanpa error. Gunakan after_id untuk menelusuri sisa data.
# Ambil satu catatan untuk memeriksa apakah data ada
curl -s "https://api.qoder.com.cn/api/v1/cloud/agents?limit=1" \
-H "Authorization: Bearer $QODER_PAT"Hasil kosong
Saat data tidak tersedia atau akhir daftar telah tercapai:
{
"data": [],
"first_id": null,
"last_id": null,
"has_more": false
}Catatan
- Stabilitas cursor — cursor didasarkan pada ID resource, sehingga penulisan secara konkuren tidak menyebabkan duplikasi atau kelalaian.
- Urutan pengurutan — catatan dikembalikan dalam urutan waktu pembuatan menurun secara default (terbaru lebih dahulu).
- Resource yang dihapus — menggunakan ID resource yang telah dihapus sebagai cursor dapat mengembalikan respons 400.
- Paging konkuren — paging aman dilakukan secara konkuren dari beberapa klien.