API
API
Markedfile API ile dosya işaretle ve tespit et. Business ve Enterprise planlarında kullanılabilir.
API anahtarları
Business veya Enterprise çalışma alanının sahibi, alan ayarlarında anahtar oluşturur ve iptal eder. Anahtar yalnızca bir kez gösterilir. Markedfile bir SHA-256 özeti, kısa bir önek ve bir ad saklar. Sır saklanmaz.
Anahtar tam olarak bir alana aittir. Yalnızca orada, alanın plan limitleriyle çalışır. Kişisel alanların anahtarı yoktur. Sahip olmayan bir üye onları oluşturamaz veya iptal edemez.
Alan aktif Business veya Enterprise planını kaybedince tüm anahtarlar hemen çalışmayı bırakır, mevcut dosyalar uygulamada hâlâ 30 gün tespit edilebilirken bile. Business veya Enterprise planına dönünce iptal etmediğin anahtarlar yeniden çalışır.
Kimlik doğrulama
Sırrı Authorization başlığında Bearer jetonu olarak gönder. Bu yollar oturum çerezi kullanmaz. Başka bir sayfadaki tarayıcı reddedilir.
Denetim
Oluşturma, iptal, işaretleme ve tespit, alan sahibinin okuyabildiği bir denetim satırı yazar. Satır dosyayı içermez.
Uç noktalar
POST/api/v1/mark
Bir dosyayı işaretler ve işaretli kopyayı döndürür. Gövde multipart/form-data'dır.
Kimlik doğrulama
Authorization: Bearer mf_…Bu başlık satırını gönder. Oturum çerezi yoktur. curl ve diğer sunucu istemcileri kabul edilir. Başka bir sayfadaki tarayıcı reddedilir.
Parametreler
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| file | file | Evet | İşaretlenecek dosya. Business ve Enterprise 100 MB'a, 500 PDF sayfasına ve 10 dakikaya kadar videoya kadar kabul eder. Yükleme boyutu, video süresi ve PDF sayfa sayısı alanın planından gelir. |
| identifier | string | Evet | 1–32 karakter, kontrol karakteri yok. Bu kopya sonra tespit edilince göreceğin etikettir. Dosyaya okunabilir metin olarak yazılmaz. |
İstek
curl -X POST https://markedfile.com/api/v1/mark \
-H "Authorization: Bearer mf_…" \
-F "file=@contract.pdf" \
-F "identifier=northwind"Yanıt
{
"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, base64 içindeki işaretli baytlardır. mime, name ve kind indirmeyi anlatır. layers kullanılan katmanları gösterir. Planın aktif dosya limiti yoksa remaining bu işaretten sonraki aktif dosya sayısıdır. Limit varsa remaining kalan yeni işaret sayısıdır. Business ve Enterprise aktif dosya limiti koymaz. Dosyayı silmek tespiti bitirir.
Hatalar
JSON yanıtındaki error alanının metni İngilizcedir.
| Durum | Açıklama |
|---|---|
| 400 | Dosya boş ya da tanımlayıcı boş, 32 karakterden uzun veya bir kontrol karakteri içeriyor. |
| 401 | Anahtar yok, anahtar iptal edilmiş veya bilinmiyor. JSON yanıtı "code": "api-key" içerir. |
| 403 | Çalışma alanının artık aktif bir Business veya Enterprise planı yok (yanıt "code": "enterprise" içerir) ya da tarayıcı cross-site veya same-site bir istek gönderdi. |
| 413 | Dosya planın yükleme limitini aşıyor ya da PDF, planın izin verdiğinden fazla sayfa içeriyor. |
| 422 | Dosya işlenemedi. |
| 429 | Bu anahtar aynı dakika içinde 40 dosyadan fazla işaretledi. |
Çağrı limiti
Bu anahtar için dakikada 40 istek. Sayaç ürün veritabanındadır ve yeniden başlatmadan sonra kalır.
POST/api/v1/detect
Bu anahtarın çalışma alanındaki bir dosyayı kontrol eder. Gövde multipart/form-data'dır.
Kimlik doğrulama
Authorization: Bearer mf_…Bu başlık satırını gönder. Oturum çerezi yoktur. curl ve diğer sunucu istemcileri kabul edilir. Başka bir sayfadaki tarayıcı reddedilir.
Parametreler
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| file | file | Evet | Kontrol edilecek dosya. Eşleşme yalnızca bu anahtarın alanında aranır. Başka bir alanda işaretlenen dosya tanınmaz. Aktif bir Business veya Enterprise alanı bir video dosyasını da kontrol edebilir. Tek bir karenin görüntüsü görsel olarak kontrol edilir. |
İstek
curl -X POST https://markedfile.com/api/v1/detect \
-H "Authorization: Bearer mf_…" \
-F "file=@leaked.pdf"Yanıt
{
"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, kopya işaretlenirken yazdığın tanımlayıcıdır ya da bu alanda eşleşme yoksa null. confidence tam dosyada veya doğrulanmış bir işaret başka bir işaretle uyuşunca %99'dur. Yalnızca görsel eşleşme daha düşük kalır. layers katmanları gösterir ve hit eşleşenlerde true olur. notes kontrolün ne yaptığını anlatır. Silinen bir dosya tanınmaz.
Hatalar
JSON yanıtındaki error alanının metni İngilizcedir.
| Durum | Açıklama |
|---|---|
| 400 | Dosya boş. |
| 401 | Anahtar yok, anahtar iptal edilmiş veya bilinmiyor. JSON yanıtı "code": "api-key" içerir. |
| 403 | Çalışma alanının artık aktif bir Business veya Enterprise planı yok (yanıt "code": "enterprise" içerir) ya da tarayıcı cross-site veya same-site bir istek gönderdi. |
| 413 | Dosya planın yükleme limitini aşıyor ya da PDF, planın izin verdiğinden fazla sayfa içeriyor. |
| 422 | Dosya işlenemedi. |
| 429 | Bu anahtar aynı dakika içinde 80 tespitten fazla yaptı. |
Çağrı limiti
Bu anahtar için dakikada 80 istek. Sayaç ürün veritabanındadır ve yeniden başlatmadan sonra kalır.