API

API

Označuj a zjišťuj soubory přes API Markedfile. Dostupné v tarifech Business a Enterprise.

Klíče API

Vlastník pracovního prostoru Business nebo Enterprise vytváří a zneplatňuje klíče v nastavení prostoru. Klíč se ukáže jen jednou. Markedfile ukládá hash SHA-256, krátkou předponu a název. Tajemství se neukládá.

Klíč patří přesně jednomu prostoru. Funguje jen tam, s limity tarifu prostoru. Osobní prostory klíče nemají. Člen, který není vlastník, je nemůže vytvářet ani zneplatňovat.

Když prostor ztratí aktivní tarif Business nebo Enterprise, všechny klíče přestanou hned fungovat, i během těch 30 dní, kdy se existující soubory pořád dají zjistit v aplikaci. Když se vrátíš k tarifu Business nebo Enterprise, klíče, které jsi nezneplatnil, zase fungují.

Ověření

Pošli tajemství v hlavičce Authorization jako token Bearer. Tyhle trasy nepoužívají soubor cookie relace. Prohlížeč na jiné stránce se odmítá.

Audit

Vytvoření, zneplatnění, označení a detekce zapisují řádek auditu, který si vlastník prostoru může přečíst. Řádek neobsahuje soubor.

Koncové body

POST/api/v1/mark

Označí soubor a vrátí označenou kopii. Tělo je multipart/form-data.

Ověření

Authorization: Bearer mf_…

Pošli tenhle hlavičkový řádek. Není tu soubor cookie relace. curl a další serveroví klienti se přijímají. Prohlížeč na jiné stránce se odmítá.

Parametry

NázevTypPovinnéPopis
filefileAnoSoubor k označení. Business a Enterprise přijímají až 100 MB, 500 stran PDF a video až 10 minut. Velikost nahrání, délka videa a počet stran PDF vyplývají z tarifu prostoru.
identifierstringAno1–32 znaků, bez řídicích znaků. To je štítek, který uvidíš, když se tahle kopie později zjistí. Do souboru se nezapisuje jako čitelný text.

Požadavek

curl -X POST https://markedfile.com/api/v1/mark \
  -H "Authorization: Bearer mf_…" \
  -F "file=@contract.pdf" \
  -F "identifier=northwind"

Odpověď

{
  "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 jsou označené bajty v base64. mime, name a kind popisují stažení. layers ukazuje použité vrstvy. Když tarif nemá limit aktivních souborů, remaining je počet aktivních souborů po tomhle označení. Když limit je, remaining je počet zbývajících nových označení. Business a Enterprise nemají limit aktivních souborů. Smazání souboru ukončí detekci.

Chyby

Text pole error v odpovědi JSON je anglicky.

StavPopis
400Soubor je prázdný, nebo je identifikátor prázdný, delší než 32 znaků, nebo obsahuje řídicí znak.
401Chybí klíč, klíč je zneplatněný, nebo je neznámý. Odpověď JSON obsahuje "code": "api-key".
403Pracovní prostor už nemá aktivní tarif Business nebo Enterprise (odpověď obsahuje "code": "enterprise"), nebo prohlížeč poslal požadavek cross-site nebo same-site.
413Soubor překračuje limit nahrávání tarifu, nebo má PDF víc stran, než tarif dovoluje.
422Soubor se nepodařilo zpracovat.
429Tenhle klíč označil víc než 40 souborů v běžné minutě.

Limit volání

40 požadavků za minutu pro tenhle klíč. Počítadlo je v databázi produktu a zůstane po restartu.

POST/api/v1/detect

Zkontroluje soubor v pracovním prostoru tohohle klíče. Tělo je multipart/form-data.

Ověření

Authorization: Bearer mf_…

Pošli tenhle hlavičkový řádek. Není tu soubor cookie relace. curl a další serveroví klienti se přijímají. Prohlížeč na jiné stránce se odmítá.

Parametry

NázevTypPovinnéPopis
filefileAnoSoubor ke kontrole. Zásah se hledá jen v prostoru tohohle klíče. Soubor označený v jiném prostoru se nepozná. Aktivní prostor Business nebo Enterprise umí zkontrolovat i videosoubor. Snímek jednoho snímku se kontroluje jako obrázek.

Požadavek

curl -X POST https://markedfile.com/api/v1/detect \
  -H "Authorization: Bearer mf_…" \
  -F "file=@leaked.pdf"

Odpověď

{
  "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 je identifikátor, který jsi zadal, když se kopie označovala, nebo null, když tenhle prostor nemá zásah. confidence je 99 % u přesného souboru nebo když se ověřená značka shoduje s jinou značkou. Samotný vizuální zásah zůstává níž. layers ukazuje vrstvy a hit je true u těch, které se shodují. notes popisuje, co kontrola udělala. Smazaný soubor se nepozná.

Chyby

Text pole error v odpovědi JSON je anglicky.

StavPopis
400Soubor je prázdný.
401Chybí klíč, klíč je zneplatněný, nebo je neznámý. Odpověď JSON obsahuje "code": "api-key".
403Pracovní prostor už nemá aktivní tarif Business nebo Enterprise (odpověď obsahuje "code": "enterprise"), nebo prohlížeč poslal požadavek cross-site nebo same-site.
413Soubor překračuje limit nahrávání tarifu, nebo má PDF víc stran, než tarif dovoluje.
422Soubor se nepodařilo zpracovat.
429Tenhle klíč provedl víc než 80 detekcí v běžné minutě.

Limit volání

80 požadavků za minutu pro tenhle klíč. Počítadlo je v databázi produktu a zůstane po restartu.