ngodingdocs

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 klienCara merujuk file
Anthropic Messagesblok {"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.