{
  "specVersion": "1.0",
  "host": {
    "displayName": "Watermark — Altixia",
    "identifier": "did:web:watermark.altixia.com",
    "description": "Applies a visible, unremovable watermark to a PDF, scan or photo before it is handed to a bank, a landlord or a government office. Pages are rasterised so no text layer remains, original metadata is dropped, and nothing is retained after delivery.",
    "vendor": {
      "name": "Altixia",
      "url": "https://altixia.com"
    },
    "contact": "https://altixia.com/#contact",
    "languages": [
      "fr",
      "en",
      "de",
      "pt",
      "es"
    ]
  },
  "entries": [
    {
      "displayName": "Watermark MCP server",
      "description": "Streamable HTTP JSON-RPC endpoint. how_to_watermark is open and needs no credential; watermark_document requires an Altixia ID bearer token and answers with a single-use download URL, never with the document itself.",
      "type": "application/mcp-server-card+json",
      "url": "https://watermark.altixia.com/.well-known/mcp/server-card.json",
      "authentication": {
        "type": "oauth2",
        "required": false,
        "note": "Discovery is open; processing requires a token. See /auth.md.",
        "metadata": "https://watermark.altixia.com/.well-known/oauth-protected-resource"
      },
      "representativeQueries": [
        "watermark a PDF before sending it to a bank",
        "stamp a passport scan with the recipient's name",
        "add a watermark to a scanned identity document",
        "mark a bank statement so it cannot be reused elsewhere",
        "apply an indelible watermark to a proof of address"
      ],
      "identifier": "urn:air:watermark.altixia.com:mcp:watermark",
      "endpoint": "https://watermark.altixia.com/mcp"
    },
    {
      "identifier": "urn:air:watermark.altixia.com:a2a:watermark",
      "displayName": "Watermark A2A agent",
      "description": "Agent2Agent interface over JSON-RPC. Name the document with a url Part — preferred, since the bytes never enter the caller's context — or send it as a base64 raw Part, with the watermark text as a text Part; the completed task carries a single-use URL, never the document. Requires an Altixia ID token.",
      "type": "application/json",
      "url": "https://watermark.altixia.com/.well-known/agent-card.json",
      "endpoint": "https://watermark.altixia.com/a2a",
      "representativeQueries": [
        "watermark this document through A2A",
        "delegate document watermarking to another agent",
        "stamp a scan before forwarding it, agent to agent"
      ]
    },
    {
      "displayName": "Watermark HTTP API",
      "description": "The same engine over plain HTTP: submit a document as multipart and receive a reference, then fetch the result once. Used by the website itself.",
      "type": "application/vnd.oai.openapi+json",
      "url": "https://watermark.altixia.com/api/openapi.json",
      "representativeQueries": [
        "watermark a document over an HTTP API",
        "submit a file and get a watermarked PDF back",
        "check how many free documents are left today"
      ],
      "identifier": "urn:air:watermark.altixia.com:openapi:http-api"
    },
    {
      "displayName": "Agent skill — watermark a document",
      "description": "When to use this service and when not to, how to call it, what good watermark text looks like, and why the result must never be read into a model context.",
      "type": "application/json",
      "url": "https://watermark.altixia.com/.well-known/agent-skills/index.json",
      "representativeQueries": [
        "how should an agent watermark a user's document",
        "when is watermarking the wrong thing to do",
        "what should a watermark say"
      ],
      "identifier": "urn:air:watermark.altixia.com:skill:watermark-a-document"
    },
    {
      "displayName": "Authentication guide for agents",
      "description": "How to obtain and use an Altixia ID credential for the processing tool, and what works without one.",
      "type": "text/markdown",
      "url": "https://watermark.altixia.com/auth.md",
      "representativeQueries": [
        "how does an agent authenticate with watermark.altixia.com",
        "get a token for the watermark MCP server",
        "why was my watermark_document call refused"
      ],
      "identifier": "urn:air:watermark.altixia.com:doc:auth"
    },
    {
      "displayName": "Service overview for language models",
      "description": "What the tool does to a document, what it deliberately does not do, and every limit it enforces.",
      "type": "text/plain",
      "url": "https://watermark.altixia.com/llms.txt",
      "representativeQueries": [
        "what does watermark.altixia.com do",
        "what file types and sizes does it accept",
        "does watermarking protect a document"
      ],
      "identifier": "urn:air:watermark.altixia.com:doc:llms"
    }
  ]
}
