{
 "openapi": "3.1.0",
 "info": {
  "title": "W System EU Business Data API (VAT/VIES, EORI, company registry, sanctions, KYB)",
  "description": "EU business data API by W System (W System Hungary Kft., the maker): **EU VAT number validation (VIES)**,\n**EORI validation (EC EOS)**, **official company-registry lookup**, **sanctions screening (EU, UN, OFAC SDN, UK)** and **one-call KYB**.\n\n* **No API key, no signup:** every client IP gets 20 free calls/day across all endpoints (header `X-Free-Remaining`).\n* **Beyond the free tier:** pay per call with **x402** (USDC on Base, HTTP 402 flow): $0.01 per single check, $0.10 per batch request, $0.045 per KYB check.\n* **MCP:** the same tools are available to AI agents at `https://api.wsystem.dev/mcp/` (streamable HTTP).\n* VIES/EOS are official European Commission services; this API adds retries when a member state is unavailable, caching,\n  batch endpoints, audit consultation numbers and a stable JSON shape. Docs: https://wsystem.dev/llms.txt",
  "contact": {
   "name": "W System",
   "url": "https://wsystem.dev/"
  },
  "license": {
   "name": "Proprietary API; MCP server code MIT",
   "url": "https://github.com/zifengw/eu-business-data-mcp"
  },
  "version": "0.2.1",
  "x-guidance": "EU business verification for agents. GET /verify?vat=IE6388047V validates an EU VAT number via official VIES (name, address, consultation number as audit proof). GET /eori?eori=SE5560360793 validates an EU EORI number. GET /company?q=552032534&country=FR looks up official business registers. GET /sanctions/screen?name=... screens EU/UN/OFAC/UK lists. POST /kyb/check {\"company\":\"FR40303265045\"} returns a pass/review/fail KYB verdict. Batch POST variants take up to 100 items. First 20 calls/day per IP are free; after that pay per call with x402 (USDC on Base), or send an X-API-Key."
 },
 "servers": [
  {
   "url": "https://api.wsystem.dev",
   "description": "Production"
  }
 ],
 "paths": {
  "/billing/plans": {
   "get": {
    "tags": [
     "Billing"
    ],
    "summary": "Monthly API-key plans",
    "operationId": "billingPlans",
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     }
    }
   }
  },
  "/billing/checkout": {
   "post": {
    "tags": [
     "Billing"
    ],
    "summary": "Start Stripe Checkout for a monthly plan",
    "operationId": "billingCheckout",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CheckoutReq"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     }
    }
   }
  },
  "/health": {
   "get": {
    "summary": "Liveness check",
    "operationId": "health",
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     }
    }
   }
  },
  "/vies/status": {
   "get": {
    "tags": [
     "VAT"
    ],
    "summary": "VIES availability per member state (free, cached 5 min)",
    "description": "Proxy of the European Commission VIES check-status endpoint, cached for 5 minutes. Free; does not use the free-tier quota. `national_fallback` = this API can answer from an official national source while that member state is down.",
    "operationId": "viesStatus",
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     }
    }
   }
  },
  "/verify": {
   "get": {
    "tags": [
     "VAT"
    ],
    "summary": "Validate one EU VAT number (VIES)",
    "description": "Check whether an EU VAT number (with country prefix, e.g. IE6388047V, DE811193231, HU33119856) is valid in the official VIES system (GB numbers: HMRC). Returns `status` (valid | invalid | invalid_format | member_state_unavailable | error | not_configured), `valid`, registered `name` and `address` where the member state discloses them, and a `consultation_number` (audit proof) when `requester` is a valid EU VAT. If VIES is down for that member state, `fallback: true` answers come from an official national source (PL Biała lista, CZ ARES, FI YTJ, FR SIRENE) or the last successful VIES result with its date; fallbacks never carry a consultation number. Use for reverse-charge invoicing, customer/supplier onboarding and checkout VAT exemption. Free 20/day per IP, then x402 $0.01.",
    "operationId": "verifyVat",
    "parameters": [
     {
      "name": "vat",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "examples": [
        "HU33119856"
       ],
       "title": "Vat"
      }
     },
     {
      "name": "requester",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "default": "HU33119856",
       "title": "Requester"
      }
     },
     {
      "name": "nocache",
      "in": "query",
      "required": false,
      "schema": {
       "type": "boolean",
       "default": false,
       "title": "Nocache"
      }
     },
     {
      "name": "fallback",
      "in": "query",
      "required": false,
      "schema": {
       "type": "boolean",
       "default": true,
       "title": "Fallback"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.010000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/verify/batch": {
   "post": {
    "tags": [
     "VAT"
    ],
    "summary": "Validate up to 100 EU VAT numbers",
    "description": "Batch VIES validation. Body: {\"vats\": [...], \"requester\": \"optional own VAT\"}. Same per-item result shape as GET /verify. x402 $0.10 per batch request after the free tier.",
    "operationId": "verifyVatBatch",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/Batch"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.100000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/company": {
   "get": {
    "tags": [
     "Company"
    ],
    "summary": "Look up a company in official EU business registers",
    "description": "Search by company name or registry number. `country`: FR (SIREN/SIRET), NO (org.nr), FI (Y-tunnus), CZ (IČO), PL (KRS number), EE (registry code); any other ISO code or LEI uses GLEIF. Returns legal name, registry ID, active status, address, VAT ID, activity code and an official source link. x402 $0.01.",
    "operationId": "lookupCompany",
    "parameters": [
     {
      "name": "q",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "examples": [
        "552032534"
       ],
       "title": "Q"
      }
     },
     {
      "name": "country",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string",
       "examples": [
        "FR"
       ],
       "default": "",
       "title": "Country"
      }
     },
     {
      "name": "limit",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer",
       "maximum": 25,
       "minimum": 1,
       "default": 3,
       "title": "Limit"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.010000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/company/batch": {
   "post": {
    "tags": [
     "Company"
    ],
    "summary": "Batch company-registry lookup (max 25 queries)",
    "description": "Body: {\"queries\":[{\"query\":\"552032534\",\"country\":\"FR\"}], \"limit\":3}. x402 $0.10 per batch request.",
    "operationId": "lookupCompanyBatch",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/CompanyBatch"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.100000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/sanctions/screen": {
   "get": {
    "tags": [
     "Sanctions"
    ],
    "summary": "Screen a name against EU, UN, OFAC and UK sanctions lists",
    "description": "Fuzzy, transliteration-aware matching of a person or company name against the official EU consolidated list, UN Security Council list, US OFAC SDN and UK sanctions list (downloaded daily). Returns status (potential_match | no_match), scored candidates (0-100), list, programme and DOB. Screening aid only; potential matches need human review. x402 $0.01.",
    "operationId": "screenSanctions",
    "parameters": [
     {
      "name": "name",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "examples": [
        "Sberbank"
       ],
       "title": "Name"
      }
     },
     {
      "name": "threshold",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number",
       "maximum": 100,
       "minimum": 50,
       "default": 85,
       "title": "Threshold"
      }
     },
     {
      "name": "birth_year",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "integer"
        },
        {
         "type": "null"
        }
       ],
       "title": "Birth Year"
      }
     },
     {
      "name": "country",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "title": "Country"
      }
     },
     {
      "name": "lists",
      "in": "query",
      "required": false,
      "schema": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "null"
        }
       ],
       "examples": [
        "EU,UN,OFAC,UK"
       ],
       "title": "Lists"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.010000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/sanctions/screen/batch": {
   "post": {
    "tags": [
     "Sanctions"
    ],
    "summary": "Batch sanctions screening (max 50 names)",
    "description": "Body: {\"names\":[...], \"threshold\":85}. x402 $0.10.",
    "operationId": "screenSanctionsBatch",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/SanctionsBatch"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.100000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/kyb/check": {
   "post": {
    "tags": [
     "KYB"
    ],
    "summary": "One-call KYB: VAT + registry + sanctions -> verdict",
    "description": "Know-your-business check of an EU company in one request: VIES VAT validation, official business-register lookup and EU/UN/OFAC/UK sanctions screening, combined into a pass / review / fail verdict with reasons. x402 $0.045.",
    "operationId": "kybCheck",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/KybCheck"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.045000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/eori": {
   "get": {
    "tags": [
     "EORI"
    ],
    "summary": "Validate one EU EORI number (EC EOS)",
    "description": "Check an EU EORI (Economic Operators Registration and Identification) number such as SE5560360793 against the official European Commission EOS service. Returns valid/invalid and name/address when the trader consented to publication. Note: GB EORIs are validated by HMRC, not EOS. x402 $0.01.",
    "operationId": "verifyEori",
    "parameters": [
     {
      "name": "eori",
      "in": "query",
      "required": true,
      "schema": {
       "type": "string",
       "examples": [
        "SE5560360793"
       ],
       "title": "Eori"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.010000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  },
  "/eori/batch": {
   "post": {
    "tags": [
     "EORI"
    ],
    "summary": "Validate up to 100 EU EORI numbers",
    "description": "Body: {\"eoris\":[...]}. x402 $0.10.",
    "operationId": "verifyEoriBatch",
    "requestBody": {
     "content": {
      "application/json": {
       "schema": {
        "$ref": "#/components/schemas/EoriBatch"
       }
      }
     },
     "required": true
    },
    "responses": {
     "200": {
      "description": "Successful Response",
      "content": {
       "application/json": {
        "schema": {}
       }
      }
     },
     "422": {
      "description": "Validation Error",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/HTTPValidationError"
        }
       }
      }
     },
     "402": {
      "description": "Payment Required: x402 v2 challenge (PAYMENT-REQUIRED header). Returned when the free tier is used up, or for a bare call without input."
     },
     "429": {
      "description": "Free tier used up and x402 disabled"
     }
    },
    "x-payment-info": {
     "price": {
      "mode": "fixed",
      "currency": "USD",
      "amount": "0.100000"
     },
     "protocols": [
      {
       "x402": {
        "network": "eip155:8453",
        "asset": "USDC",
        "scheme": "exact"
       }
      }
     ],
     "freeTier": "20 calls/day per IP, no key"
    }
   }
  }
 },
 "components": {
  "schemas": {
   "Batch": {
    "properties": {
     "vats": {
      "items": {
       "type": "string"
      },
      "type": "array",
      "maxItems": 100,
      "minItems": 1,
      "title": "Vats"
     },
     "requester": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Requester",
      "default": "HU33119856"
     }
    },
    "type": "object",
    "required": [
     "vats"
    ],
    "title": "Batch"
   },
   "CheckoutReq": {
    "properties": {
     "plan": {
      "type": "string",
      "title": "Plan"
     },
     "email": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Email"
     }
    },
    "type": "object",
    "required": [
     "plan"
    ],
    "title": "CheckoutReq"
   },
   "CompanyBatch": {
    "properties": {
     "queries": {
      "items": {
       "additionalProperties": true,
       "type": "object"
      },
      "type": "array",
      "maxItems": 25,
      "minItems": 1,
      "title": "Queries",
      "examples": [
       [
        {
         "country": "FR",
         "query": "552032534"
        },
        {
         "country": "NO",
         "query": "equinor"
        }
       ]
      ]
     },
     "limit": {
      "type": "integer",
      "maximum": 25.0,
      "minimum": 1.0,
      "title": "Limit",
      "default": 3
     }
    },
    "type": "object",
    "required": [
     "queries"
    ],
    "title": "CompanyBatch"
   },
   "EoriBatch": {
    "properties": {
     "eoris": {
      "items": {
       "type": "string"
      },
      "type": "array",
      "maxItems": 100,
      "minItems": 1,
      "title": "Eoris",
      "examples": [
       [
        "SE5560360793",
        "IE6388047V"
       ]
      ]
     }
    },
    "type": "object",
    "required": [
     "eoris"
    ],
    "title": "EoriBatch"
   },
   "HTTPValidationError": {
    "properties": {
     "detail": {
      "items": {
       "$ref": "#/components/schemas/ValidationError"
      },
      "type": "array",
      "title": "Detail"
     }
    },
    "type": "object",
    "title": "HTTPValidationError"
   },
   "KybCheck": {
    "properties": {
     "company": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "additionalProperties": true,
        "type": "object"
       }
      ],
      "title": "Company",
      "description": "VAT ID ('FR40303265045'), 'CC:name or registry id' ('NO:equinor'), or {name, vatNumber, country, registryId}",
      "examples": [
       "FR40303265045",
       {
        "country": "NO",
        "name": "Equinor ASA"
       }
      ]
     },
     "requester": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Requester",
      "default": "HU33119856"
     },
     "threshold": {
      "type": "number",
      "maximum": 100.0,
      "minimum": 50.0,
      "title": "Threshold",
      "default": 85
     }
    },
    "type": "object",
    "required": [
     "company"
    ],
    "title": "KybCheck"
   },
   "SanctionsBatch": {
    "properties": {
     "names": {
      "items": {
       "type": "string"
      },
      "type": "array",
      "maxItems": 50,
      "minItems": 1,
      "title": "Names",
      "examples": [
       [
        "Sberbank",
        "Example Trading Ltd"
       ]
      ]
     },
     "threshold": {
      "type": "number",
      "maximum": 100.0,
      "minimum": 50.0,
      "title": "Threshold",
      "default": 85
     }
    },
    "type": "object",
    "required": [
     "names"
    ],
    "title": "SanctionsBatch"
   },
   "ValidationError": {
    "properties": {
     "loc": {
      "items": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "integer"
        }
       ]
      },
      "type": "array",
      "title": "Location"
     },
     "msg": {
      "type": "string",
      "title": "Message"
     },
     "type": {
      "type": "string",
      "title": "Error Type"
     },
     "input": {
      "title": "Input"
     },
     "ctx": {
      "type": "object",
      "title": "Context"
     }
    },
    "type": "object",
    "required": [
     "loc",
     "msg",
     "type"
    ],
    "title": "ValidationError"
   }
  },
  "securitySchemes": {
   "ApiKeyAuth": {
    "type": "apiKey",
    "in": "header",
    "name": "X-API-Key",
    "description": "Optional monthly-plan key. Without it: free tier, then x402 pay-per-call."
   }
  }
 },
 "tags": [
  {
   "name": "VAT",
   "description": "EU VAT number validation via VIES (27 EU states + XI Northern Ireland)"
  },
  {
   "name": "EORI",
   "description": "EU EORI customs number validation via the EC EOS service"
  },
  {
   "name": "Company",
   "description": "Official business-register lookup (FR, NO, FI, CZ, PL, EE; others via GLEIF LEI)"
  },
  {
   "name": "Sanctions",
   "description": "Name screening against EU, UN, OFAC SDN and UK sanctions lists (refreshed daily)"
  },
  {
   "name": "KYB",
   "description": "VAT + registry + sanctions in one call with a pass/review/fail verdict"
  }
 ],
 "externalDocs": {
  "description": "Guides, prices and MCP setup",
  "url": "https://wsystem.dev/llms-full.txt"
 },
 "x-discovery": {
  "mcp": "https://api.wsystem.dev/mcp/",
  "serverCard": "https://api.wsystem.dev/server-card",
  "x402": "https://api.wsystem.dev/.well-known/x402"
 }
}