API

API

Oznaczaj i wykrywaj pliki przez API Markedfile. Dostępne w planach Business i Enterprise.

Klucze API

Właściciel obszaru Business albo Enterprise tworzy i unieważnia klucze w ustawieniach obszaru. Klucz jest pokazywany tylko raz. Markedfile zapisuje skrót SHA-256, krótki prefiks i nazwę. Sekret nie jest zapisywany.

Klucz należy dokładnie do jednego obszaru. Działa tylko tam, z limitami planu obszaru. Obszary osobiste nie mają kluczy. Członek, który nie jest właścicielem, nie może ich tworzyć ani unieważniać.

Jeśli obszar traci aktywny plan Business albo Enterprise, wszystkie klucze przestają działać od razu, także w ciągu tych 30 dni, gdy istniejące pliki nadal da się wykryć w aplikacji. Gdy wracasz do planu Business albo Enterprise, klucze, których nie unieważniono, znów działają.

Uwierzytelnianie

Wyślij sekret w nagłówku Authorization jako token Bearer. Te trasy nie używają pliku cookie sesji. Przeglądarka na innej stronie jest odrzucana.

Audyt

Utworzenie, unieważnienie, oznaczenie i wykrycie zapisują wiersz audytu, który właściciel obszaru może przeczytać. Wiersz nie zawiera pliku.

Zdalne MCP

Zdalne MCP wymaga aktywnego planu Business lub Enterprise w obszarze, który udostępniasz.

Wklej adres konektora do klienta, który mówi MCP przez Streamable HTTP. Markedfile loguje cię tym samym kontem, łącznie z SSO i aplikacją uwierzytelniającą, i pyta, którego obszaru aplikacja może użyć. https://markedfile.com/api/mcp

Klient rejestruje się sam, używa PKCE i dostaje krótkotrwały token dostępu do tego obszaru. Unieważnij połączenie obok kluczy API. Nie ma CLI do plików.

Claude

  1. Na claude.ai otwórz Ustawienia, potem Connectors, i dodaj własny konektor. W Claude Desktop otwórz Ustawienia, potem Connectors, i dodaj własny konektor.
  2. Wklej adres konektora. Pozwól klientowi dokończyć logowanie w przeglądarce.
  3. Zaloguj się w Markedfile, przez SSO lub aplikację uwierzytelniającą, jeśli konto ich używa, i wybierz obszar.

Cursor

  1. Otwórz ustawienia Cursor, potem MCP, i dodaj serwer.
  2. Wybierz Streamable HTTP i wklej adres konektora.
  3. Dokończ logowanie w przeglądarce i wybierz obszar. Cursor przechowuje token odświeżania lokalnie.

VS Code

  1. W VS Code uruchom MCP: Add Server z palety poleceń albo dodaj serwer HTTP w mcp.json.
  2. Ustaw typ na http, a URL na adres konektora.
  3. Dokończ logowanie w przeglądarce i wybierz obszar.

ChatGPT

  1. W ChatGPT otwórz Ustawienia, potem Connectors. Tryb dewelopera też może dodać własny konektor lub aplikację.
  2. Dodaj adres konektora i rozpocznij logowanie.
  3. Zaloguj się w Markedfile i wybierz obszar. Oznaczanie i wykrywanie działają tylko, dopóki ten obszar jest Business lub Enterprise.

Grok Bot

  1. W Grok Bot poproś bota na czacie, aby dodał konektor z adresem https://markedfile.com/api/mcp.
  2. Autoryzuj swoje konto Markedfile na ekranie OAuth, który się otworzy.

Punkty końcowe

POST/api/v1/mark

Oznacza plik i zwraca oznaczoną kopię. Treść to multipart/form-data.

Uwierzytelnianie

Authorization: Bearer mf_…

Wyślij ten nagłówek. Nie ma pliku cookie sesji. curl i inni klienci serwerowi są przyjmowani. Przeglądarka na innej stronie jest odrzucana.

Parametry

NazwaTypWymaganeOpis
filefileTakPlik do oznaczenia. Business przyjmuje do 100 MB, 500 stron PDF i wideo do 10 minut. W Enterprise rozmiar pliku, strony PDF, długość wideo i rozmiar pliku wideo są Indywidualnie. Rozmiar wgrywania, długość wideo i liczba stron PDF wynikają z planu obszaru.
identifierstringTak1–32 znaki, bez znaków sterujących. To etykieta, którą zobaczysz, jeśli ta kopia zostanie później wykryta. Nie jest zapisywana w pliku jako czytelny tekst.

Żądanie

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

Odpowiedź

{
  "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 to oznaczone bajty w base64. mime, name i kind opisują pobranie. layers pokazuje użyte warstwy. Gdy plan nie ma limitu aktywnych plików, remaining to liczba aktywnych plików po tym oznaczeniu. Gdy limit jest, remaining to liczba pozostałych nowych oznaczeń. Business i Enterprise nie mają limitu aktywnych plików. Usunięcie pliku kończy wykrywanie.

Błędy

Tekst pola error w odpowiedzi JSON jest po angielsku.

StanOpis
400Plik jest pusty, albo identyfikator jest pusty, dłuższy niż 32 znaki albo zawiera znak sterujący.
401Brak klucza, klucz unieważniony albo nieznany. Odpowiedź JSON zawiera "code": "api-key".
403Obszar nie ma już aktywnego planu Business albo Enterprise (odpowiedź zawiera "code": "enterprise"), albo przeglądarka wysłała żądanie cross-site albo same-site.
413Plik przekracza limit wgrywania planu, albo PDF ma więcej stron, niż plan pozwala.
422Pliku nie dało się przetworzyć.
503Serwer jest zajęty albo oznaczanie jest wstrzymane z powodu konserwacji.
429Ten klucz oznaczył ponad 40 plików w bieżącej minucie.

Limit wywołań

40 żądań na minutę dla tego klucza. Licznik jest w bazie produktu i zostaje po restarcie.

POST/api/v1/detect

Sprawdza plik w obszarze roboczym tego klucza. Treść to multipart/form-data.

Uwierzytelnianie

Authorization: Bearer mf_…

Wyślij ten nagłówek. Nie ma pliku cookie sesji. curl i inni klienci serwerowi są przyjmowani. Przeglądarka na innej stronie jest odrzucana.

Parametry

NazwaTypWymaganeOpis
filefileTakPlik do sprawdzenia. Trafienia szuka się tylko w obszarze tego klucza. Plik oznaczony w innym obszarze nie zostanie rozpoznany. Aktywny obszar Business albo Enterprise może też sprawdzić plik wideo. Zrzut jednej klatki jest sprawdzany jako obraz.

Żądanie

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

Odpowiedź

{
  "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 to identyfikator, który podałeś, gdy kopia była oznaczana, albo null, gdy ten obszar nie ma trafienia. confidence to 99% dla dokładnego pliku albo gdy uwierzytelniony znak zgadza się z innym znakiem. Samo trafienie wizualne zostaje niżej. layers pokazuje warstwy, a hit jest true dla tych, które się zgadzają. notes opisuje, co zrobiło sprawdzenie. Usunięty plik nie jest rozpoznawany.

Błędy

Tekst pola error w odpowiedzi JSON jest po angielsku.

StanOpis
400Plik jest pusty.
401Brak klucza, klucz unieważniony albo nieznany. Odpowiedź JSON zawiera "code": "api-key".
403Obszar nie ma już aktywnego planu Business albo Enterprise (odpowiedź zawiera "code": "enterprise"), albo przeglądarka wysłała żądanie cross-site albo same-site.
413Plik przekracza limit wgrywania planu, albo PDF ma więcej stron, niż plan pozwala.
422Pliku nie dało się przetworzyć.
503Serwer jest zajęty albo oznaczanie jest wstrzymane z powodu konserwacji.
429Ten klucz wykonał ponad 80 wykryć w bieżącej minucie.

Limit wywołań

80 żądań na minutę dla tego klucza. Licznik jest w bazie produktu i zostaje po restarcie.