API Reference
Files
Upload PDF/gambar/teks sekali, pakai ulang via file_id — POST & GET /v1/files.
Files
POST /v1/files mengunggah dokumen/gambar/teks (PDF, PNG, JPEG, GIF, WebP, TXT, Markdown, CSV, JSON, JSONL). File lalu dirujuk dari request inference via file_id — tanpa mengunggah ulang base64 raksasa setiap request.
Gratis: penyimpanan tidak ditagih, dan upload/unduh tidak dicatat sebagai usage.
Upload
curl <API>/v1/files \
-H "Authorization: Bearer $NGODING_KEY" \
-F "file=@laporan.pdf" \
-F "purpose=user_data"Respons (superset kedua dialek — created_at ISO bila request memakai header anthropic-version, unix bila tidak):
{
"id": "file_01JABCD",
"type": "file",
"object": "file",
"filename": "laporan.pdf",
"mime_type": "application/pdf",
"size_bytes": 48213,
"bytes": 48213,
"purpose": "user_data",
"status": "processed",
"downloadable": true,
"created_at": "2026-10-04T10:00:00Z",
"expires_at": null
}Memakai file di request
| Format klien | Cara merujuk file |
|---|---|
| Anthropic Messages | blok {"type": "document" | "image", "source": {"type": "file", "file_id"}} |
| OpenAI Responses | {"type": "input_file", "file_id"} / input_image.file_id |
| OpenAI Chat | {"type": "file", "file": {"file_id"}} |
Api meresolusi file milikmu lalu meng-inline (base64/data URL) sebelum dikirim ke upstream mana pun — Files API milik provider tidak dipakai untuk inference. Total inline per request dibatasi (FILES_INLINE_MAX_BYTES, default 32 MiB) → 413 bila lewat. PDF ke route tanpa kapabilitas pdf_input dialihkan ke route lain yang mampu, atau 400 unsupported_content.
Daftar, unduh, hapus
curl <API>/v1/files -H "Authorization: Bearer $NGODING_KEY"
curl <API>/v1/files/file_01JABCD/content -H "Authorization: Bearer $NGODING_KEY" -o laporan.pdf
curl -X DELETE <API>/v1/files/file_01JABCD -H "Authorization: Bearer $NGODING_KEY"Hapus = soft-delete + hapus objek storage. Bentuk respons hapus mengikuti dialek: Anthropic {"id", "type": "file_deleted"}; OpenAI {"id", "object": "file", "deleted": true}.
Batas
- Ukuran per file:
FILES_MAX_BYTES(default 100 MiB, maks 500 MiB) → 413. - Kuota per user:
FILES_QUOTA_BYTES(default 5 GiB), maks 1000 file aktif → 400/413. - Mime dideteksi dari isi file; nama file disanitasi.
- File milik user lain → 404 (bukan 403).
Ganti <API> dengan https://api.ngoding.in. Referensi lengkap tiap operasi: OpenAPI: Files.
Coba langsung: referensi interaktif + try-it di OpenAPI — request dikirim dari browser ke https://api.ngoding.in, kuncimu hanya disimpan di sessionStorage tab ini (hilang saat tab ditutup) dan tidak pernah dicatat.