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ázev | Typ | Povinné | Popis |
|---|---|---|---|
| file | file | Ano | Soubor 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. |
| identifier | string | Ano | 1–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.
| Stav | Popis |
|---|---|
| 400 | Soubor je prázdný, nebo je identifikátor prázdný, delší než 32 znaků, nebo obsahuje řídicí znak. |
| 401 | Chybí klíč, klíč je zneplatněný, nebo je neznámý. Odpověď JSON obsahuje "code": "api-key". |
| 403 | Pracovní prostor už nemá aktivní tarif Business nebo Enterprise (odpověď obsahuje "code": "enterprise"), nebo prohlížeč poslal požadavek cross-site nebo same-site. |
| 413 | Soubor překračuje limit nahrávání tarifu, nebo má PDF víc stran, než tarif dovoluje. |
| 422 | Soubor se nepodařilo zpracovat. |
| 429 | Tenhle 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ázev | Typ | Povinné | Popis |
|---|---|---|---|
| file | file | Ano | Soubor 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.
| Stav | Popis |
|---|---|
| 400 | Soubor je prázdný. |
| 401 | Chybí klíč, klíč je zneplatněný, nebo je neznámý. Odpověď JSON obsahuje "code": "api-key". |
| 403 | Pracovní prostor už nemá aktivní tarif Business nebo Enterprise (odpověď obsahuje "code": "enterprise"), nebo prohlížeč poslal požadavek cross-site nebo same-site. |
| 413 | Soubor překračuje limit nahrávání tarifu, nebo má PDF víc stran, než tarif dovoluje. |
| 422 | Soubor se nepodařilo zpracovat. |
| 429 | Tenhle 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.