Referensi API Publik
Base URL: https://ai.numintek.com/api
Semua endpoint publik diawali /v1/public/. Endpoint internal (/v1/admin/*, /v1/internal/*) tidak diekspos ke tenant.
Autentikasi
Setiap request wajib pakai API key yang dibuat di Settings → API Keys:
curl https://ai.numintek.com/api/v1/public/conversations \
-H "Authorization: Bearer dnm_live_XXXXXXXXXXXX"Format key:
dnm_live_...— key productiondnm_test_...— key test (tidak ditagih, data terisolasi)
Idempotency
Setiap mutation (POST, PUT, PATCH, DELETE) menerima header
Idempotency-Key. Key yang sama dalam 24 jam mengembalikan response cache:
curl -X POST https://ai.numintek.com/api/v1/public/conversations \
-H "Authorization: Bearer dnm_live_..." \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"channelId": "...", "message": "..."}'Pagination
Cursor-based. Response include nextCursor kalau masih ada page:
{
"data": [...],
"nextCursor": "cnv_abc123"
}Kirim balik sebagai ?cursor=cnv_abc123 untuk page berikutnya.
Error
RFC 7807 problem+json:
{
"type": "https://ai.numintek.com/errors/validation",
"title": "Validation failed",
"status": 422,
"detail": "Field 'channelId' is required",
"instance": "/v1/public/conversations"
}Status umum:
401— API key hilang atau invalid403— key ada tapi tidak punya scope yang diperlukan (lihat scopes)409— conflict (biasanya resource existing dengan key yang sama)422— validasi request body gagal429— rate limit (per-key, default 60 rpm; upgrade di Settings)
Scopes
Setiap key punya list scope. Rekomendasi least-privilege:
read:conversations— GET /conversations dan /messageswrite:conversations— POST /conversations dan /messagesread:customers— GET /customerswrite:customers— POST /customers dan PATCH /customers/idread:agents— GET /agentswrite:agents— POST dan PATCH /agents (draft only)read:knowledge— GET /knowledge-baseswrite:knowledge— POST /knowledge-bases dan upload dokumenread:webhooks— GET /webhookswrite:webhooks— POST, PATCH, DELETE /webhooksread:usage— GET /usage
OpenAPI
Skema Swagger lengkap di ai.numintek.com/api-docs.
SDK
- Node/TypeScript:
@danum-ai/sdk-node - Lainnya: segera hadir; API REST + JSON, jadi HTTP client apa saja bisa.