API

API

Markeer en detecteer bestanden met de API van Markedfile. Beschikbaar op de plannen Business en Enterprise.

API-sleutels

De eigenaar van een werkruimte Business of Enterprise maakt en trekt sleutels in bij de instellingen van de werkruimte. Een sleutel wordt één keer getoond. Markedfile slaat een SHA-256-hash, een kort voorvoegsel en de naam op. Het geheim wordt niet opgeslagen.

Een sleutel hoort bij precies één werkruimte. Ze werkt alleen daar, met de limieten van het plan van die werkruimte. Persoonlijke werkruimten hebben geen sleutels. Een lid dat niet de eigenaar is, kan ze niet maken of intrekken.

Als de werkruimte het actieve plan Business of Enterprise kwijtraakt, werken alle sleutels meteen niet meer, ook tijdens de 30 dagen waarin bestaande bestanden in de app nog kunnen worden gedetecteerd. Bij terugkeer naar Business of Enterprise werken sleutels die niet zijn ingetrokken weer.

Authenticatie

Stuur het geheim in de header Authorization als een Bearer-token. Deze routes gebruiken geen sessiecookie. Een browser op een andere site wordt geweigerd.

Audit

Maken, intrekken, markeren en detecteren schrijven een auditregel die de eigenaar van de werkruimte kan lezen. De regel bevat het bestand niet.

Remote MCP

Remote MCP vereist een actief Business- of Enterprise-plan op de werkruimte die je toekent.

Plak de connector-URL in een client die MCP via Streamable HTTP spreekt. Markedfile meldt je aan met hetzelfde account, inclusief SSO en een authenticator, en vraagt welke werkruimte de app mag gebruiken. https://markedfile.com/api/mcp

De client registreert zichzelf, gebruikt PKCE en krijgt een kort levende toegangstoken voor die werkruimte. Trek de verbinding in naast de API-sleutels. Er is geen bestands-CLI.

Claude

  1. Op claude.ai open je Instellingen, dan Connectors, en voeg je een eigen connector toe. In Claude Desktop open je Instellingen, dan Connectors, en voeg je een eigen connector toe.
  2. Plak de connector-URL. Laat de client het aanmelden in de browser afronden.
  3. Meld je aan bij Markedfile, met SSO of een authenticator als het account die gebruikt, en kies de werkruimte.

Cursor

  1. Open de Cursor-instellingen, dan MCP, en voeg een server toe.
  2. Kies Streamable HTTP en plak de connector-URL.
  3. Rond het aanmelden in de browser af en kies de werkruimte. Cursor bewaart het vernieuwingstoken lokaal.

VS Code

  1. Voer in VS Code MCP: Add Server uit het opdrachtenpalet uit, of voeg een HTTP-server toe in mcp.json.
  2. Zet het type op http en de URL op de connector-URL.
  3. Rond het aanmelden in de browser af en kies de werkruimte.

ChatGPT

  1. Open in ChatGPT Instellingen en dan Connectors. De ontwikkelaarsmodus kan ook een eigen connector of app toevoegen.
  2. Voeg de connector-URL toe en start het aanmelden.
  3. Meld je aan bij Markedfile en kies de werkruimte. Markeren en detecteren werken alleen zolang die werkruimte Business of Enterprise is.

Grok Bot

  1. Vraag in Grok Bot je bot in de chat om een connector toe te voegen met de URL https://markedfile.com/api/mcp.
  2. Autoriseer je Markedfile-account op het OAuth-scherm dat opent.

Eindpunten

POST/api/v1/mark

Markeert een bestand en geeft de gemarkeerde kopie terug. De body is multipart/form-data.

Authenticatie

Authorization: Bearer mf_…

Stuur deze header. Er is geen sessiecookie. curl en andere serverclients worden geaccepteerd. Een browser op een andere site wordt geweigerd.

Parameters

NaamTypeVerplichtBeschrijving
filefileJaHet bestand dat wordt gemarkeerd. Business accepteert tot 100 MB, 500 PDF-pagina's en video tot 10 minuten. Bij Enterprise zijn bestandsgrootte, PDF-pagina's, videolengte en grootte van het videobestand Op maat. De uploadgrootte, de videoduur en het aantal PDF-pagina's volgen het plan van de werkruimte.
identifierstringJa1 tot 32 tekens, zonder stuurtekens. Dit is het label dat je ziet als deze kopie later wordt gedetecteerd. Het wordt niet als leesbare tekst in het bestand geschreven.

Verzoek

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

Antwoord

{
  "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 zijn de gemarkeerde bytes in base64. mime, name en kind beschrijven de download. layers noemt de lagen die zijn toegepast. Als het plan geen limiet op actieve bestanden heeft, is remaining het aantal actieve bestanden na deze markering. Als er wel een limiet is, is remaining hoeveel nieuwe markeringen er nog over zijn. Business en Enterprise hebben geen limiet op actieve bestanden. Het verwijderen van een bestand beëindigt de detectie.

Fouten

De tekst van het veld error in de JSON-body is in het Engels.

StatusBeschrijving
400Het bestand is leeg, of het kenmerk is leeg, heeft meer dan 32 tekens of bevat een stuurteken.
401De sleutel ontbreekt, is ingetrokken of is onbekend. De JSON-body bevat "code": "api-key".
403De werkruimte heeft geen actief plan Business of Enterprise meer (de body bevat "code": "enterprise"), of de browser stuurde een cross-site- of same-site-verzoek.
413Het bestand gaat over de uploadlimiet van het plan, of de PDF heeft meer pagina's dan het plan toestaat.
422Het bestand kon niet worden verwerkt.
503De server is bezet, of markeren is gepauzeerd voor onderhoud.
429Deze sleutel heeft meer dan 40 bestanden gemarkeerd in de huidige minuut.

Verzoeklimiet

40 verzoeken per minuut voor deze sleutel. De teller staat in de productdatabase en blijft gelden na een herstart.

POST/api/v1/detect

Controleert een bestand in de werkruimte van deze sleutel. De body is multipart/form-data.

Authenticatie

Authorization: Bearer mf_…

Stuur deze header. Er is geen sessiecookie. curl en andere serverclients worden geaccepteerd. Een browser op een andere site wordt geweigerd.

Parameters

NaamTypeVerplichtBeschrijving
filefileJaHet bestand dat wordt gecontroleerd. De overeenkomst wordt alleen in de werkruimte van deze sleutel gezocht. Een bestand dat in een andere werkruimte is gemarkeerd, wordt niet herkend. Een actieve werkruimte Business of Enterprise kan ook een videobestand controleren. De schermafbeelding van één beeld wordt als afbeelding gecontroleerd.

Verzoek

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

Antwoord

{
  "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 is het kenmerk dat je instelde toen deze kopie werd gemarkeerd, of null als deze werkruimte geen overeenkomst heeft. confidence is 99% voor een exact bestand of wanneer een geauthenticeerde markering met een andere markering overeenkomt. Een alleen visuele overeenkomst blijft lager. layers noemt de lagen, en hit is true bij de lagen die overeenkwamen. notes beschrijft wat de controle deed. Een verwijderd bestand wordt niet herkend.

Fouten

De tekst van het veld error in de JSON-body is in het Engels.

StatusBeschrijving
400Het bestand is leeg.
401De sleutel ontbreekt, is ingetrokken of is onbekend. De JSON-body bevat "code": "api-key".
403De werkruimte heeft geen actief plan Business of Enterprise meer (de body bevat "code": "enterprise"), of de browser stuurde een cross-site- of same-site-verzoek.
413Het bestand gaat over de uploadlimiet van het plan, of de PDF heeft meer pagina's dan het plan toestaat.
422Het bestand kon niet worden verwerkt.
503De server is bezet, of markeren is gepauzeerd voor onderhoud.
429Deze sleutel heeft meer dan 80 detecties gedaan in de huidige minuut.

Verzoeklimiet

80 verzoeken per minuut voor deze sleutel. De teller staat in de productdatabase en blijft gelden na een herstart.