{
  "aid": "attestwire.com:attestwire",
  "name": "Attestwire",
  "type": "Index",
  "description": "EN 16931 e-invoice compliance over HTTP. Validates an invoice — as JSON, or as a UBL 2.1 or UN/CEFACT CII document — against EN 16931 and the XRechnung and Peppol BIS 3 CIUS rule sets, returning the official rule id, the business term it constrains, what the regulation requires and how to fix it. Generation emits both syntaxes, UBL 2.1 and CII. It handles XML only, never a PDF.",
  "url": "https://api.attestwire.com/apis.json",
  "created": "2026-08-11",
  "modified": "2026-08-11",
  "specificationVersion": "0.22",
  "tags": [
    "e-invoicing",
    "en16931",
    "xrechnung",
    "peppol",
    "vat",
    "compliance",
    "validation"
  ],
  "maintainers": [
    {
      "FN": "Attestwire",
      "email": "hello@attestwire.com",
      "url": "https://attestwire.com/"
    }
  ],
  "apis": [
    {
      "aid": "attestwire.com:attestwire-api",
      "name": "Attestwire API",
      "description": "Validate an invoice supplied as JSON, or as a UBL 2.1 or UN/CEFACT CII document, against EN 16931 and its CIUS rule sets, and generate either syntax. XML only, never a PDF. Free tier, no card, key issued by one POST.",
      "humanURL": "https://attestwire.com/",
      "baseURL": "https://api.attestwire.com",
      "tags": [
        "e-invoicing",
        "en16931",
        "xrechnung",
        "peppol",
        "validation"
      ],
      "properties": [
        {
          "type": "Documentation",
          "url": "https://api.attestwire.com/docs"
        },
        {
          "type": "OpenAPI",
          "url": "https://api.attestwire.com/openapi.json"
        },
        {
          "type": "LlmsText",
          "url": "https://api.attestwire.com/llms.txt",
          "description": "The whole API written for a model to read: endpoints, error codes, limits, and what the service refuses to do."
        },
        {
          "type": "ModelContextProtocol",
          "url": "https://api.attestwire.com/mcp",
          "description": "MCP server over streamable HTTP. JSON-RPC over POST, so a GET answers 405 by design. Six of its thirteen tools need no API key."
        },
        {
          "type": "GettingStarted",
          "url": "https://api.attestwire.com/docs#quickstart"
        },
        {
          "type": "Authentication",
          "url": "https://api.attestwire.com/docs#auth"
        },
        {
          "type": "ErrorCodes",
          "url": "https://api.attestwire.com/docs#errors"
        },
        {
          "type": "RateLimits",
          "url": "https://api.attestwire.com/docs#limits"
        },
        {
          "type": "SignUp",
          "url": "https://attestwire.com/#keyform"
        }
      ]
    }
  ],
  "common": [
    {
      "type": "Pricing",
      "url": "https://attestwire.com/pricing"
    },
    {
      "type": "StatusPage",
      "url": "https://status.attestwire.com"
    },
    {
      "type": "TermsOfService",
      "url": "https://attestwire.com/terms"
    },
    {
      "type": "PrivacyPolicy",
      "url": "https://attestwire.com/privacy"
    }
  ]
}