API
API
Tandai dan deteksi file dengan API Markedfile. Tersedia di paket Business dan Enterprise.
Kunci API
Pemilik ruang kerja Business atau Enterprise membuat dan mencabut kunci di pengaturan ruang. Kunci hanya ditampilkan sekali. Markedfile menyimpan ringkasan SHA-256, awalan pendek, dan sebuah nama. Rahasia tidak disimpan.
Kunci milik tepat satu ruang. Ia hanya bekerja di sana, dengan batas paket ruang itu. Ruang pribadi tidak punya kunci. Anggota yang bukan pemilik tidak bisa membuat atau mencabutnya.
Saat ruang kehilangan paket Business atau Enterprise yang aktif, semua kunci langsung berhenti bekerja, bahkan saat file yang ada masih dapat dideteksi di aplikasi selama 30 hari. Saat kembali ke paket Business atau Enterprise, kunci yang tidak kamu cabut bekerja lagi.
Autentikasi
Kirim rahasia sebagai token Bearer pada header Authorization. Jalur ini tidak memakai cookie sesi. Peramban dari halaman lain ditolak.
Audit
Pembuatan, pencabutan, penandaan, dan deteksi menulis baris audit yang bisa dibaca pemilik ruang. Baris itu tidak berisi file.
Endpoint
POST/api/v1/mark
Menandai sebuah file dan mengembalikan salinan yang ditandai. Isi permintaan adalah multipart/form-data.
Autentikasi
Authorization: Bearer mf_…Kirim baris header ini. Tidak ada cookie sesi. curl dan klien server lain diterima. Peramban dari halaman lain ditolak.
Parameter
| Nama | Jenis | Wajib | Penjelasan |
|---|---|---|---|
| file | file | Ya | File yang akan ditandai. Business dan Enterprise menerima hingga 100 MB, 500 halaman PDF, dan video hingga 10 menit. Ukuran unggah, durasi video, dan jumlah halaman PDF mengikuti paket ruang kerja. |
| identifier | string | Ya | 1–32 karakter, tanpa karakter kontrol. Ini label yang kamu lihat saat salinan ini nanti terdeteksi. Tidak ditulis ke file sebagai teks yang bisa dibaca. |
Permintaan
curl -X POST https://markedfile.com/api/v1/mark \
-H "Authorization: Bearer mf_…" \
-F "file=@contract.pdf" \
-F "identifier=northwind"Respons
{
"file": "JVBERi0xLjQK…",
"mime": "application/pdf",
"name": "contract.pdf",
"kind": "pdf",
"layers": [
{
"name": "Metadata",
"detail": "Authenticated workspace reference; the identifier stays on the server",
"screenshot": "No",
"crop": "No",
"reencode": "No"
}
],
"remaining": 1
}file adalah byte yang ditandai dalam base64. mime, name, dan kind menjelaskan unduhan. layers menunjukkan lapisan yang dipakai. Jika paket tidak membatasi file aktif, remaining adalah jumlah file aktif setelah tanda ini. Jika ada batas, remaining adalah sisa tanda baru. Business dan Enterprise tidak membatasi file aktif. Menghapus file mengakhiri deteksi.
Kesalahan
Teks pada kolom error di respons JSON berbahasa Inggris.
| Status | Penjelasan |
|---|---|
| 400 | File kosong, atau pengenal kosong, lebih dari 32 karakter, atau berisi karakter kontrol. |
| 401 | Kunci tidak ada, kunci dicabut, atau tidak dikenal. Respons JSON berisi "code": "api-key". |
| 403 | Ruang kerja tidak lagi punya paket Business atau Enterprise yang aktif (respons berisi "code": "enterprise") atau peramban mengirim permintaan cross-site atau same-site. |
| 413 | File melebihi batas unggah paket, atau PDF berisi lebih banyak halaman daripada yang diizinkan paket. |
| 422 | File tidak dapat diproses. |
| 429 | Kunci ini menandai lebih dari 40 file dalam menit yang sama. |
Batas panggilan
40 permintaan per menit untuk kunci ini. Penghitung ada di basis data produk dan tetap ada setelah mulai ulang.
POST/api/v1/detect
Memeriksa file di ruang kerja milik kunci ini. Isi permintaan adalah multipart/form-data.
Autentikasi
Authorization: Bearer mf_…Kirim baris header ini. Tidak ada cookie sesi. curl dan klien server lain diterima. Peramban dari halaman lain ditolak.
Parameter
| Nama | Jenis | Wajib | Penjelasan |
|---|---|---|---|
| file | file | Ya | File yang akan diperiksa. Kecocokan hanya dicari di ruang milik kunci ini. File yang ditandai di ruang lain tidak dikenali. Ruang Business atau Enterprise yang aktif juga bisa memeriksa file video. Gambar satu bingkai diperiksa secara visual. |
Permintaan
curl -X POST https://markedfile.com/api/v1/detect \
-H "Authorization: Bearer mf_…" \
-F "file=@leaked.pdf"Respons
{
"id": "northwind",
"confidence": 0.95,
"layers": [
{
"name": "Metadata",
"hit": true,
"detail": "Authenticated metadata matched this workspace",
"screenshot": "No",
"crop": "No",
"reencode": "No"
}
],
"notes": [
"Confidence is 99% for an exact file or when an authenticated mark agrees with another mark. A visual match alone stays lower, and weak bit agreement stays far from a high score."
]
}id adalah pengenal yang kamu tulis saat salinan ditandai, atau null jika tidak ada kecocokan di ruang ini. confidence adalah 99% pada file utuh atau saat tanda terautentikasi cocok dengan tanda lain. Kecocokan visual saja tetap lebih rendah. layers menunjukkan lapisan dan hit menjadi true pada yang cocok. notes menjelaskan apa yang dilakukan pemeriksaan. File yang dihapus tidak dikenali.
Kesalahan
Teks pada kolom error di respons JSON berbahasa Inggris.
| Status | Penjelasan |
|---|---|
| 400 | File kosong. |
| 401 | Kunci tidak ada, kunci dicabut, atau tidak dikenal. Respons JSON berisi "code": "api-key". |
| 403 | Ruang kerja tidak lagi punya paket Business atau Enterprise yang aktif (respons berisi "code": "enterprise") atau peramban mengirim permintaan cross-site atau same-site. |
| 413 | File melebihi batas unggah paket, atau PDF berisi lebih banyak halaman daripada yang diizinkan paket. |
| 422 | File tidak dapat diproses. |
| 429 | Kunci ini melakukan lebih dari 80 deteksi dalam menit yang sama. |
Batas panggilan
80 permintaan per menit untuk kunci ini. Penghitung ada di basis data produk dan tetap ada setelah mulai ulang.